vk.relaxed.frag
WARNING: 0:7: 'b' : Ignoring initializer for uniform 
WARNING: 0:8: 'c' : ignoring layout qualifier for uniform location

Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:43  Function Definition: bar( ( global highp uint)
0:43    Function Parameters: 
0:44    Sequence
0:44      Sequence
0:44        move second child to first child ( temp highp uint)
0:44          'j' ( temp highp uint)
0:44          Constant:
0:44            0 (const uint)
0:45      move second child to first child ( temp highp uint)
0:45        'j' ( temp highp uint)
0:45        AtomicAdd ( global highp uint)
0:45          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:45            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:45            Constant:
0:45              0 (const uint)
0:45          Constant:
0:45            1 (const uint)
0:46      move second child to first child ( temp highp uint)
0:46        'j' ( temp highp uint)
0:46        subtract ( temp highp uint)
0:46          AtomicAdd ( global highp uint)
0:46            counter1: direct index for structure ( coherent volatile buffer highp uint)
0:46              'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:46              Constant:
0:46                0 (const uint)
0:46            Constant:
0:46              4294967295 (const uint)
0:46          Constant:
0:46            1 (const uint)
0:47      move second child to first child ( temp highp uint)
0:47        'j' ( temp highp uint)
0:47        counter1: direct index for structure ( coherent volatile buffer highp uint)
0:47          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:47          Constant:
0:47            0 (const uint)
0:49      move second child to first child ( temp highp uint)
0:49        'j' ( temp highp uint)
0:49        AtomicAdd ( global highp uint)
0:49          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:49            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:49            Constant:
0:49              0 (const uint)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp highp uint)
0:50        'j' ( temp highp uint)
0:50        AtomicAdd ( global highp uint)
0:50          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:50            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:50            Constant:
0:50              0 (const uint)
0:50          Constant:
0:50            4294967295 (const uint)
0:51      move second child to first child ( temp highp uint)
0:51        'j' ( temp highp uint)
0:51        AtomicSubtract ( global highp uint)
0:51          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:51            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:51            Constant:
0:51              0 (const uint)
0:51          Constant:
0:51            1 (const uint)
0:53      move second child to first child ( temp highp uint)
0:53        'j' ( temp highp uint)
0:53        AtomicMin ( global highp uint)
0:53          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:53            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:53            Constant:
0:53              0 (const uint)
0:53          'j' ( temp highp uint)
0:54      move second child to first child ( temp highp uint)
0:54        'j' ( temp highp uint)
0:54        AtomicMax ( global highp uint)
0:54          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:54            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:54            Constant:
0:54              0 (const uint)
0:54          'j' ( temp highp uint)
0:55      move second child to first child ( temp highp uint)
0:55        'j' ( temp highp uint)
0:55        AtomicAnd ( global highp uint)
0:55          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:55            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:55            Constant:
0:55              0 (const uint)
0:55          'j' ( temp highp uint)
0:57      move second child to first child ( temp highp uint)
0:57        'j' ( temp highp uint)
0:57        AtomicOr ( global highp uint)
0:57          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:57            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:57            Constant:
0:57              0 (const uint)
0:57          'j' ( temp highp uint)
0:58      move second child to first child ( temp highp uint)
0:58        'j' ( temp highp uint)
0:58        AtomicXor ( global highp uint)
0:58          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:58            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:58            Constant:
0:58              0 (const uint)
0:58          'j' ( temp highp uint)
0:60      move second child to first child ( temp highp uint)
0:60        'j' ( temp highp uint)
0:60        AtomicExchange ( global highp uint)
0:60          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:60            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:60            Constant:
0:60              0 (const uint)
0:60          'j' ( temp highp uint)
0:61      move second child to first child ( temp highp uint)
0:61        'j' ( temp highp uint)
0:61        AtomicCompSwap ( global highp uint)
0:61          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:61            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:61            Constant:
0:61              0 (const uint)
0:61          Constant:
0:61            0 (const uint)
0:61          'j' ( temp highp uint)
0:63      AtomicAdd ( global highp uint)
0:63        counter2: direct index for structure ( coherent volatile buffer highp uint)
0:63          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:63          Constant:
0:63            1 (const uint)
0:63        Constant:
0:63          1 (const uint)
0:64      AtomicAdd ( global highp uint)
0:64        counter3: direct index for structure ( coherent volatile buffer highp uint)
0:64          'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:64          Constant:
0:64            0 (const uint)
0:64        Constant:
0:64          1 (const uint)
0:66      MemoryBarrierBuffer ( global void)
0:68      Branch: Return with expression
0:68        'j' ( temp highp uint)
0:71  Function Definition: foo( ( global highp 4-component vector of float)
0:71    Function Parameters: 
0:72    Sequence
0:72      Sequence
0:72        move second child to first child ( temp highp float)
0:72          'f' ( temp highp float)
0:72          add ( temp highp float)
0:72            add ( temp highp float)
0:72              add ( temp highp float)
0:72                j: direct index for structure (layout( column_major std140) uniform highp float)
0:72                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:72                  Constant:
0:72                    0 (const uint)
0:72                j: direct index for structure (layout( column_major std430) buffer highp float)
0:72                  'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:72                  Constant:
0:72                    0 (const int)
0:72              y: direct index for structure ( global highp float)
0:72                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:72                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:72                  Constant:
0:72                    4 (const uint)
0:72                Constant:
0:72                  1 (const int)
0:72            Convert uint to float ( temp highp float)
0:72              z: direct index for structure ( global highp uint)
0:72                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:72                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:72                  Constant:
0:72                    4 (const uint)
0:72                Constant:
0:72                  2 (const int)
0:73      Sequence
0:73        move second child to first child ( temp highp 2-component vector of float)
0:73          'v2' ( temp highp 2-component vector of float)
0:73          add ( temp highp 2-component vector of float)
0:73            add ( temp highp 2-component vector of float)
0:73              b: direct index for structure ( uniform highp 2-component vector of float)
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  1 (const uint)
0:73              c: direct index for structure ( uniform highp 2-component vector of float)
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  2 (const uint)
0:73            x: direct index for structure ( global highp 2-component vector of float)
0:73              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  4 (const uint)
0:73              Constant:
0:73                0 (const int)
0:74      Sequence
0:74        move second child to first child ( temp highp 4-component vector of float)
0:74          'v4' ( temp highp 4-component vector of float)
0:74          add ( temp highp 4-component vector of float)
0:74            add ( temp highp 4-component vector of float)
0:74              add ( temp highp 4-component vector of float)
0:74                add ( temp highp 4-component vector of float)
0:74                  add ( temp highp 4-component vector of float)
0:74                    add ( temp highp 4-component vector of float)
0:74                      add ( temp highp 4-component vector of float)
0:74                        a: direct index for structure ( uniform highp 4-component vector of float)
0:74                          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                          Constant:
0:74                            0 (const uint)
0:74                        direct index ( temp highp 4-component vector of float)
0:74                          d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                            'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                            Constant:
0:74                              3 (const uint)
0:74                          Constant:
0:74                            0 (const int)
0:74                      direct index ( temp highp 4-component vector of float)
0:74                        d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                          Constant:
0:74                            3 (const uint)
0:74                        Constant:
0:74                          1 (const int)
0:74                    direct index ( temp highp 4-component vector of float)
0:74                      d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                        'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                        Constant:
0:74                          3 (const uint)
0:74                      Constant:
0:74                        2 (const int)
0:74                  k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:74                    'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:74                    Constant:
0:74                      1 (const uint)
0:74                k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:74                  'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:74                  Constant:
0:74                    1 (const int)
0:74              texture ( global highp 4-component vector of float)
0:74                't1' ( uniform highp sampler2D)
0:74                Constant:
0:74                  0.000000
0:74                  0.000000
0:74            texture ( global highp 4-component vector of float)
0:74              'structUniform.t0' ( uniform highp sampler2D)
0:74              Constant:
0:74                0.000000
0:74                0.000000
0:75      Branch: Return with expression
0:75        component-wise multiply ( temp highp 4-component vector of float)
0:75          component-wise multiply ( temp highp 4-component vector of float)
0:75            Construct vec4 ( temp highp 4-component vector of float)
0:75              'f' ( temp highp float)
0:75            Construct vec4 ( temp highp 4-component vector of float)
0:75              'v2' ( temp highp 2-component vector of float)
0:75              Constant:
0:75                1.000000
0:75              Constant:
0:75                1.000000
0:75          'v4' ( temp highp 4-component vector of float)
0:78  Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float)
0:78    Function Parameters: 
0:78      'samplers' ( in structure{ global 4-element array of highp int /*tn*/})
0:78      'samplers.tn[0]' ( in highp sampler2D)
0:78      'samplers.tn[1]' ( in highp sampler2D)
0:78      'samplers.tn[2]' ( in highp sampler2D)
0:78      'samplers.tn[3]' ( in highp sampler2D)
0:79    Sequence
0:79      Branch: Return with expression
0:79        add ( temp highp 4-component vector of float)
0:79          add ( temp highp 4-component vector of float)
0:79            add ( temp highp 4-component vector of float)
0:79              texture ( global highp 4-component vector of float)
0:79                'samplers.tn[0]' ( in highp sampler2D)
0:79                Constant:
0:79                  0.000000
0:79                  0.000000
0:79              texture ( global highp 4-component vector of float)
0:79                'samplers.tn[1]' ( in highp sampler2D)
0:79                Constant:
0:79                  0.000000
0:79                  0.000000
0:79            texture ( global highp 4-component vector of float)
0:79              'samplers.tn[2]' ( in highp sampler2D)
0:79              Constant:
0:79                0.000000
0:79                0.000000
0:79          texture ( global highp 4-component vector of float)
0:79            'samplers.tn[3]' ( in highp sampler2D)
0:79            Constant:
0:79              0.000000
0:79              0.000000
0:82  Function Definition: main( ( global void)
0:82    Function Parameters: 
0:83    Sequence
0:83      Sequence
0:83        move second child to first child ( temp highp float)
0:83          'j' ( temp highp float)
0:83          Convert uint to float ( temp highp float)
0:83            Function Call: bar( ( global highp uint)
0:84      move second child to first child ( temp highp 4-component vector of float)
0:84        'o' ( out highp 4-component vector of float)
0:84        add ( temp highp 4-component vector of float)
0:84          vector-scale ( temp highp 4-component vector of float)
0:84            'j' ( temp highp float)
0:84            Function Call: foo( ( global highp 4-component vector of float)
0:84          Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float)
0:84            samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/})
0:84              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:84                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:84                Constant:
0:84                  4 (const uint)
0:84              Constant:
0:84                4 (const int)
0:84            'structUniform.samplers.tn[0]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[1]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[2]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[3]' ( uniform highp sampler2D)
0:?   Linker Objects
0:?     'o' ( out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:?     'structUniform.t0' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[0]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[1]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[2]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[3]' ( uniform highp sampler2D)
0:?     't1' ( uniform highp sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:?     'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:?     'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:?     'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})


Linked fragment stage:


Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:43  Function Definition: bar( ( global highp uint)
0:43    Function Parameters: 
0:44    Sequence
0:44      Sequence
0:44        move second child to first child ( temp highp uint)
0:44          'j' ( temp highp uint)
0:44          Constant:
0:44            0 (const uint)
0:45      move second child to first child ( temp highp uint)
0:45        'j' ( temp highp uint)
0:45        AtomicAdd ( global highp uint)
0:45          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:45            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:45            Constant:
0:45              0 (const uint)
0:45          Constant:
0:45            1 (const uint)
0:46      move second child to first child ( temp highp uint)
0:46        'j' ( temp highp uint)
0:46        subtract ( temp highp uint)
0:46          AtomicAdd ( global highp uint)
0:46            counter1: direct index for structure ( coherent volatile buffer highp uint)
0:46              'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:46              Constant:
0:46                0 (const uint)
0:46            Constant:
0:46              4294967295 (const uint)
0:46          Constant:
0:46            1 (const uint)
0:47      move second child to first child ( temp highp uint)
0:47        'j' ( temp highp uint)
0:47        counter1: direct index for structure ( coherent volatile buffer highp uint)
0:47          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:47          Constant:
0:47            0 (const uint)
0:49      move second child to first child ( temp highp uint)
0:49        'j' ( temp highp uint)
0:49        AtomicAdd ( global highp uint)
0:49          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:49            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:49            Constant:
0:49              0 (const uint)
0:49          Constant:
0:49            1 (const uint)
0:50      move second child to first child ( temp highp uint)
0:50        'j' ( temp highp uint)
0:50        AtomicAdd ( global highp uint)
0:50          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:50            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:50            Constant:
0:50              0 (const uint)
0:50          Constant:
0:50            4294967295 (const uint)
0:51      move second child to first child ( temp highp uint)
0:51        'j' ( temp highp uint)
0:51        AtomicSubtract ( global highp uint)
0:51          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:51            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:51            Constant:
0:51              0 (const uint)
0:51          Constant:
0:51            1 (const uint)
0:53      move second child to first child ( temp highp uint)
0:53        'j' ( temp highp uint)
0:53        AtomicMin ( global highp uint)
0:53          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:53            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:53            Constant:
0:53              0 (const uint)
0:53          'j' ( temp highp uint)
0:54      move second child to first child ( temp highp uint)
0:54        'j' ( temp highp uint)
0:54        AtomicMax ( global highp uint)
0:54          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:54            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:54            Constant:
0:54              0 (const uint)
0:54          'j' ( temp highp uint)
0:55      move second child to first child ( temp highp uint)
0:55        'j' ( temp highp uint)
0:55        AtomicAnd ( global highp uint)
0:55          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:55            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:55            Constant:
0:55              0 (const uint)
0:55          'j' ( temp highp uint)
0:57      move second child to first child ( temp highp uint)
0:57        'j' ( temp highp uint)
0:57        AtomicOr ( global highp uint)
0:57          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:57            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:57            Constant:
0:57              0 (const uint)
0:57          'j' ( temp highp uint)
0:58      move second child to first child ( temp highp uint)
0:58        'j' ( temp highp uint)
0:58        AtomicXor ( global highp uint)
0:58          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:58            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:58            Constant:
0:58              0 (const uint)
0:58          'j' ( temp highp uint)
0:60      move second child to first child ( temp highp uint)
0:60        'j' ( temp highp uint)
0:60        AtomicExchange ( global highp uint)
0:60          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:60            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:60            Constant:
0:60              0 (const uint)
0:60          'j' ( temp highp uint)
0:61      move second child to first child ( temp highp uint)
0:61        'j' ( temp highp uint)
0:61        AtomicCompSwap ( global highp uint)
0:61          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:61            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:61            Constant:
0:61              0 (const uint)
0:61          Constant:
0:61            0 (const uint)
0:61          'j' ( temp highp uint)
0:63      AtomicAdd ( global highp uint)
0:63        counter2: direct index for structure ( coherent volatile buffer highp uint)
0:63          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:63          Constant:
0:63            1 (const uint)
0:63        Constant:
0:63          1 (const uint)
0:64      AtomicAdd ( global highp uint)
0:64        counter3: direct index for structure ( coherent volatile buffer highp uint)
0:64          'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:64          Constant:
0:64            0 (const uint)
0:64        Constant:
0:64          1 (const uint)
0:66      MemoryBarrierBuffer ( global void)
0:68      Branch: Return with expression
0:68        'j' ( temp highp uint)
0:71  Function Definition: foo( ( global highp 4-component vector of float)
0:71    Function Parameters: 
0:72    Sequence
0:72      Sequence
0:72        move second child to first child ( temp highp float)
0:72          'f' ( temp highp float)
0:72          add ( temp highp float)
0:72            add ( temp highp float)
0:72              add ( temp highp float)
0:72                j: direct index for structure (layout( column_major std140) uniform highp float)
0:72                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:72                  Constant:
0:72                    0 (const uint)
0:72                j: direct index for structure (layout( column_major std430) buffer highp float)
0:72                  'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:72                  Constant:
0:72                    0 (const int)
0:72              y: direct index for structure ( global highp float)
0:72                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:72                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:72                  Constant:
0:72                    4 (const uint)
0:72                Constant:
0:72                  1 (const int)
0:72            Convert uint to float ( temp highp float)
0:72              z: direct index for structure ( global highp uint)
0:72                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:72                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:72                  Constant:
0:72                    4 (const uint)
0:72                Constant:
0:72                  2 (const int)
0:73      Sequence
0:73        move second child to first child ( temp highp 2-component vector of float)
0:73          'v2' ( temp highp 2-component vector of float)
0:73          add ( temp highp 2-component vector of float)
0:73            add ( temp highp 2-component vector of float)
0:73              b: direct index for structure ( uniform highp 2-component vector of float)
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  1 (const uint)
0:73              c: direct index for structure ( uniform highp 2-component vector of float)
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  2 (const uint)
0:73            x: direct index for structure ( global highp 2-component vector of float)
0:73              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:73                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:73                Constant:
0:73                  4 (const uint)
0:73              Constant:
0:73                0 (const int)
0:74      Sequence
0:74        move second child to first child ( temp highp 4-component vector of float)
0:74          'v4' ( temp highp 4-component vector of float)
0:74          add ( temp highp 4-component vector of float)
0:74            add ( temp highp 4-component vector of float)
0:74              add ( temp highp 4-component vector of float)
0:74                add ( temp highp 4-component vector of float)
0:74                  add ( temp highp 4-component vector of float)
0:74                    add ( temp highp 4-component vector of float)
0:74                      add ( temp highp 4-component vector of float)
0:74                        a: direct index for structure ( uniform highp 4-component vector of float)
0:74                          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                          Constant:
0:74                            0 (const uint)
0:74                        direct index ( temp highp 4-component vector of float)
0:74                          d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                            'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                            Constant:
0:74                              3 (const uint)
0:74                          Constant:
0:74                            0 (const int)
0:74                      direct index ( temp highp 4-component vector of float)
0:74                        d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                          'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                          Constant:
0:74                            3 (const uint)
0:74                        Constant:
0:74                          1 (const int)
0:74                    direct index ( temp highp 4-component vector of float)
0:74                      d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:74                        'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:74                        Constant:
0:74                          3 (const uint)
0:74                      Constant:
0:74                        2 (const int)
0:74                  k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:74                    'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:74                    Constant:
0:74                      1 (const uint)
0:74                k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:74                  'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:74                  Constant:
0:74                    1 (const int)
0:74              texture ( global highp 4-component vector of float)
0:74                't1' ( uniform highp sampler2D)
0:74                Constant:
0:74                  0.000000
0:74                  0.000000
0:74            texture ( global highp 4-component vector of float)
0:74              'structUniform.t0' ( uniform highp sampler2D)
0:74              Constant:
0:74                0.000000
0:74                0.000000
0:75      Branch: Return with expression
0:75        component-wise multiply ( temp highp 4-component vector of float)
0:75          component-wise multiply ( temp highp 4-component vector of float)
0:75            Construct vec4 ( temp highp 4-component vector of float)
0:75              'f' ( temp highp float)
0:75            Construct vec4 ( temp highp 4-component vector of float)
0:75              'v2' ( temp highp 2-component vector of float)
0:75              Constant:
0:75                1.000000
0:75              Constant:
0:75                1.000000
0:75          'v4' ( temp highp 4-component vector of float)
0:78  Function Definition: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float)
0:78    Function Parameters: 
0:78      'samplers' ( in structure{ global 4-element array of highp int /*tn*/})
0:78      'samplers.tn[0]' ( in highp sampler2D)
0:78      'samplers.tn[1]' ( in highp sampler2D)
0:78      'samplers.tn[2]' ( in highp sampler2D)
0:78      'samplers.tn[3]' ( in highp sampler2D)
0:79    Sequence
0:79      Branch: Return with expression
0:79        add ( temp highp 4-component vector of float)
0:79          add ( temp highp 4-component vector of float)
0:79            add ( temp highp 4-component vector of float)
0:79              texture ( global highp 4-component vector of float)
0:79                'samplers.tn[0]' ( in highp sampler2D)
0:79                Constant:
0:79                  0.000000
0:79                  0.000000
0:79              texture ( global highp 4-component vector of float)
0:79                'samplers.tn[1]' ( in highp sampler2D)
0:79                Constant:
0:79                  0.000000
0:79                  0.000000
0:79            texture ( global highp 4-component vector of float)
0:79              'samplers.tn[2]' ( in highp sampler2D)
0:79              Constant:
0:79                0.000000
0:79                0.000000
0:79          texture ( global highp 4-component vector of float)
0:79            'samplers.tn[3]' ( in highp sampler2D)
0:79            Constant:
0:79              0.000000
0:79              0.000000
0:82  Function Definition: main( ( global void)
0:82    Function Parameters: 
0:83    Sequence
0:83      Sequence
0:83        move second child to first child ( temp highp float)
0:83          'j' ( temp highp float)
0:83          Convert uint to float ( temp highp float)
0:83            Function Call: bar( ( global highp uint)
0:84      move second child to first child ( temp highp 4-component vector of float)
0:84        'o' ( out highp 4-component vector of float)
0:84        add ( temp highp 4-component vector of float)
0:84          vector-scale ( temp highp 4-component vector of float)
0:84            'j' ( temp highp float)
0:84            Function Call: foo( ( global highp 4-component vector of float)
0:84          Function Call: baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21; ( global highp 4-component vector of float)
0:84            samplers: direct index for structure ( global structure{ global 4-element array of highp int /*tn*/})
0:84              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers})
0:84                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:84                Constant:
0:84                  4 (const uint)
0:84              Constant:
0:84                4 (const int)
0:84            'structUniform.samplers.tn[0]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[1]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[2]' ( uniform highp sampler2D)
0:84            'structUniform.samplers.tn[3]' ( uniform highp sampler2D)
0:?   Linker Objects
0:?     'o' ( out highp 4-component vector of float)
0:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b,  uniform highp 2-component vector of float c,  uniform 10-element array of highp 4-component vector of float d,  uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z,  global highp int /*t0*/,  global structure{ global 4-element array of highp int /*tn*/} samplers} structUniform})
0:?     'structUniform.t0' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[0]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[1]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[2]' ( uniform highp sampler2D)
0:?     'structUniform.samplers.tn[3]' ( uniform highp sampler2D)
0:?     't1' ( uniform highp sampler2D)
0:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp float j, layout( column_major std140) uniform highp 4-component vector of float k})
0:?     'bufferInstance' (layout( column_major std430) buffer block{layout( column_major std430) buffer highp float j, layout( column_major std430) buffer highp 4-component vector of float k})
0:?     'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:?     'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})

// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 216

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 190
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 460
                              Name 4  "main"
                              Name 8  "bar("
                              Name 13  "foo("
                              Name 18  "SamplerArray"
                              MemberName 18(SamplerArray) 0  "/*tn*/"
                              Name 29  "baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;"
                              Name 24  "samplers"
                              Name 25  "samplers.tn[0]"
                              Name 26  "samplers.tn[1]"
                              Name 27  "samplers.tn[2]"
                              Name 28  "samplers.tn[3]"
                              Name 32  "j"
                              Name 34  "gl_AtomicCounterBlock_0"
                              MemberName 34(gl_AtomicCounterBlock_0) 0  "counter1"
                              MemberName 34(gl_AtomicCounterBlock_0) 1  "counter2"
                              Name 36  ""
                              Name 78  "gl_AtomicCounterBlock_1"
                              MemberName 78(gl_AtomicCounterBlock_1) 0  "counter3"
                              Name 80  ""
                              Name 88  "f"
                              Name 89  "UniformBlock"
                              MemberName 89(UniformBlock) 0  "j"
                              MemberName 89(UniformBlock) 1  "k"
                              Name 91  ""
                              Name 95  "BufferBlock"
                              MemberName 95(BufferBlock) 0  "j"
                              MemberName 95(BufferBlock) 1  "k"
                              Name 97  "bufferInstance"
                              Name 105  "SamplerArray"
                              MemberName 105(SamplerArray) 0  "/*tn*/"
                              Name 106  "e"
                              MemberName 106(e) 0  "x"
                              MemberName 106(e) 1  "y"
                              MemberName 106(e) 2  "z"
                              MemberName 106(e) 3  "/*t0*/"
                              MemberName 106(e) 4  "samplers"
                              Name 107  "gl_DefaultUniformBlock"
                              MemberName 107(gl_DefaultUniformBlock) 0  "a"
                              MemberName 107(gl_DefaultUniformBlock) 1  "b"
                              MemberName 107(gl_DefaultUniformBlock) 2  "c"
                              MemberName 107(gl_DefaultUniformBlock) 3  "d"
                              MemberName 107(gl_DefaultUniformBlock) 4  "structUniform"
                              Name 109  ""
                              Name 120  "v2"
                              Name 131  "v4"
                              Name 151  "t1"
                              Name 157  "structUniform.t0"
                              Name 186  "j"
                              Name 190  "o"
                              Name 194  "structUniform.samplers.tn[0]"
                              Name 195  "structUniform.samplers.tn[1]"
                              Name 196  "structUniform.samplers.tn[2]"
                              Name 197  "structUniform.samplers.tn[3]"
                              Name 198  "param"
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Volatile
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 0 Offset 0
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Volatile
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 34(gl_AtomicCounterBlock_0) 1 Offset 4
                              Decorate 34(gl_AtomicCounterBlock_0) BufferBlock
                              Decorate 36 DescriptorSet 0
                              Decorate 36 Binding 9
                              MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent
                              MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Volatile
                              MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Coherent
                              MemberDecorate 78(gl_AtomicCounterBlock_1) 0 Offset 0
                              Decorate 78(gl_AtomicCounterBlock_1) BufferBlock
                              Decorate 80 DescriptorSet 0
                              Decorate 80 Binding 10
                              MemberDecorate 89(UniformBlock) 0 Offset 0
                              MemberDecorate 89(UniformBlock) 1 Offset 16
                              Decorate 89(UniformBlock) Block
                              Decorate 91 DescriptorSet 0
                              Decorate 91 Binding 7
                              MemberDecorate 95(BufferBlock) 0 Offset 0
                              MemberDecorate 95(BufferBlock) 1 Offset 16
                              Decorate 95(BufferBlock) BufferBlock
                              Decorate 97(bufferInstance) DescriptorSet 0
                              Decorate 97(bufferInstance) Binding 8
                              Decorate 103 ArrayStride 16
                              Decorate 104 ArrayStride 16
                              MemberDecorate 105(SamplerArray) 0 Offset 0
                              MemberDecorate 106(e) 0 Offset 0
                              MemberDecorate 106(e) 1 Offset 8
                              MemberDecorate 106(e) 2 Offset 12
                              MemberDecorate 106(e) 3 Offset 16
                              MemberDecorate 106(e) 4 Offset 32
                              MemberDecorate 107(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 107(gl_DefaultUniformBlock) 1 Offset 16
                              MemberDecorate 107(gl_DefaultUniformBlock) 2 Offset 24
                              MemberDecorate 107(gl_DefaultUniformBlock) 3 Offset 32
                              MemberDecorate 107(gl_DefaultUniformBlock) 4 Offset 192
                              Decorate 107(gl_DefaultUniformBlock) Block
                              Decorate 109 DescriptorSet 0
                              Decorate 109 Binding 0
                              Decorate 151(t1) DescriptorSet 0
                              Decorate 151(t1) Binding 6
                              Decorate 157(structUniform.t0) DescriptorSet 0
                              Decorate 157(structUniform.t0) Binding 1
                              Decorate 190(o) Location 0
                              Decorate 194(structUniform.samplers.tn[0]) DescriptorSet 0
                              Decorate 194(structUniform.samplers.tn[0]) Binding 2
                              Decorate 195(structUniform.samplers.tn[1]) DescriptorSet 0
                              Decorate 195(structUniform.samplers.tn[1]) Binding 3
                              Decorate 196(structUniform.samplers.tn[2]) DescriptorSet 0
                              Decorate 196(structUniform.samplers.tn[2]) Binding 4
                              Decorate 197(structUniform.samplers.tn[3]) DescriptorSet 0
                              Decorate 197(structUniform.samplers.tn[3]) Binding 5
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 0
               7:             TypeFunction 6(int)
              10:             TypeFloat 32
              11:             TypeVector 10(float) 4
              12:             TypeFunction 11(fvec4)
              15:             TypeInt 32 1
              16:      6(int) Constant 4
              17:             TypeArray 15(int) 16
18(SamplerArray):             TypeStruct 17
              19:             TypePointer Function 18(SamplerArray)
              20:             TypeImage 10(float) 2D sampled format:Unknown
              21:             TypeSampledImage 20
              22:             TypePointer UniformConstant 21
              23:             TypeFunction 11(fvec4) 19(ptr) 22(ptr) 22(ptr) 22(ptr) 22(ptr)
              31:             TypePointer Function 6(int)
              33:      6(int) Constant 0
34(gl_AtomicCounterBlock_0):             TypeStruct 6(int) 6(int)
              35:             TypePointer Uniform 34(gl_AtomicCounterBlock_0)
              36:     35(ptr) Variable Uniform
              37:     15(int) Constant 0
              38:             TypePointer Uniform 6(int)
              40:      6(int) Constant 1
              43:      6(int) Constant 4294967295
              75:     15(int) Constant 1
78(gl_AtomicCounterBlock_1):             TypeStruct 6(int)
              79:             TypePointer Uniform 78(gl_AtomicCounterBlock_1)
              80:     79(ptr) Variable Uniform
              83:      6(int) Constant 72
              87:             TypePointer Function 10(float)
89(UniformBlock):             TypeStruct 10(float) 11(fvec4)
              90:             TypePointer Uniform 89(UniformBlock)
              91:     90(ptr) Variable Uniform
              92:             TypePointer Uniform 10(float)
 95(BufferBlock):             TypeStruct 10(float) 11(fvec4)
              96:             TypePointer Uniform 95(BufferBlock)
97(bufferInstance):     96(ptr) Variable Uniform
             101:             TypeVector 10(float) 2
             102:      6(int) Constant 10
             103:             TypeArray 11(fvec4) 102
             104:             TypeArray 15(int) 16
105(SamplerArray):             TypeStruct 104
          106(e):             TypeStruct 101(fvec2) 10(float) 6(int) 15(int) 105(SamplerArray)
107(gl_DefaultUniformBlock):             TypeStruct 11(fvec4) 101(fvec2) 101(fvec2) 103 106(e)
             108:             TypePointer Uniform 107(gl_DefaultUniformBlock)
             109:    108(ptr) Variable Uniform
             110:     15(int) Constant 4
             114:     15(int) Constant 2
             119:             TypePointer Function 101(fvec2)
             121:             TypePointer Uniform 101(fvec2)
             130:             TypePointer Function 11(fvec4)
             132:             TypePointer Uniform 11(fvec4)
             135:     15(int) Constant 3
         151(t1):     22(ptr) Variable UniformConstant
             153:   10(float) Constant 0
             154:  101(fvec2) ConstantComposite 153 153
157(structUniform.t0):     22(ptr) Variable UniformConstant
             164:   10(float) Constant 1065353216
             189:             TypePointer Output 11(fvec4)
          190(o):    189(ptr) Variable Output
194(structUniform.samplers.tn[0]):     22(ptr) Variable UniformConstant
195(structUniform.samplers.tn[1]):     22(ptr) Variable UniformConstant
196(structUniform.samplers.tn[2]):     22(ptr) Variable UniformConstant
197(structUniform.samplers.tn[3]):     22(ptr) Variable UniformConstant
             199:             TypePointer Uniform 105(SamplerArray)
             203:             TypePointer Function 17
             206:             TypePointer Function 15(int)
         4(main):           2 Function None 3
               5:             Label
          186(j):     87(ptr) Variable Function
      198(param):     19(ptr) Variable Function
             187:      6(int) FunctionCall 8(bar()
             188:   10(float) ConvertUToF 187
                              Store 186(j) 188
             191:   10(float) Load 186(j)
             192:   11(fvec4) FunctionCall 13(foo()
             193:   11(fvec4) VectorTimesScalar 192 191
             200:    199(ptr) AccessChain 109 110 110
             201:105(SamplerArray) Load 200
             202:         104 CompositeExtract 201 0
             204:    203(ptr) AccessChain 198(param) 37
             205:     15(int) CompositeExtract 202 0
             207:    206(ptr) AccessChain 204 37
                              Store 207 205
             208:     15(int) CompositeExtract 202 1
             209:    206(ptr) AccessChain 204 75
                              Store 209 208
             210:     15(int) CompositeExtract 202 2
             211:    206(ptr) AccessChain 204 114
                              Store 211 210
             212:     15(int) CompositeExtract 202 3
             213:    206(ptr) AccessChain 204 135
                              Store 213 212
             214:   11(fvec4) FunctionCall 29(baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;) 198(param) 194(structUniform.samplers.tn[0]) 195(structUniform.samplers.tn[1]) 196(structUniform.samplers.tn[2]) 197(structUniform.samplers.tn[3])
             215:   11(fvec4) FAdd 193 214
                              Store 190(o) 215
                              Return
                              FunctionEnd
         8(bar():      6(int) Function None 7
               9:             Label
           32(j):     31(ptr) Variable Function
                              Store 32(j) 33
              39:     38(ptr) AccessChain 36 37
              41:      6(int) AtomicIAdd 39 40 33 40
                              Store 32(j) 41
              42:     38(ptr) AccessChain 36 37
              44:      6(int) AtomicIAdd 42 40 33 43
              45:      6(int) ISub 44 40
                              Store 32(j) 45
              46:     38(ptr) AccessChain 36 37
              47:      6(int) Load 46
                              Store 32(j) 47
              48:     38(ptr) AccessChain 36 37
              49:      6(int) AtomicIAdd 48 40 33 40
                              Store 32(j) 49
              50:     38(ptr) AccessChain 36 37
              51:      6(int) AtomicIAdd 50 40 33 43
                              Store 32(j) 51
              52:     38(ptr) AccessChain 36 37
              53:      6(int) AtomicISub 52 40 33 40
                              Store 32(j) 53
              54:     38(ptr) AccessChain 36 37
              55:      6(int) Load 32(j)
              56:      6(int) AtomicUMin 54 40 33 55
                              Store 32(j) 56
              57:     38(ptr) AccessChain 36 37
              58:      6(int) Load 32(j)
              59:      6(int) AtomicUMax 57 40 33 58
                              Store 32(j) 59
              60:     38(ptr) AccessChain 36 37
              61:      6(int) Load 32(j)
              62:      6(int) AtomicAnd 60 40 33 61
                              Store 32(j) 62
              63:     38(ptr) AccessChain 36 37
              64:      6(int) Load 32(j)
              65:      6(int) AtomicOr 63 40 33 64
                              Store 32(j) 65
              66:     38(ptr) AccessChain 36 37
              67:      6(int) Load 32(j)
              68:      6(int) AtomicXor 66 40 33 67
                              Store 32(j) 68
              69:     38(ptr) AccessChain 36 37
              70:      6(int) Load 32(j)
              71:      6(int) AtomicExchange 69 40 33 70
                              Store 32(j) 71
              72:     38(ptr) AccessChain 36 37
              73:      6(int) Load 32(j)
              74:      6(int) AtomicCompareExchange 72 40 33 33 73 33
                              Store 32(j) 74
              76:     38(ptr) AccessChain 36 75
              77:      6(int) AtomicIAdd 76 40 33 40
              81:     38(ptr) AccessChain 80 37
              82:      6(int) AtomicIAdd 81 40 33 40
                              MemoryBarrier 40 83
              84:      6(int) Load 32(j)
                              ReturnValue 84
                              FunctionEnd
        13(foo():   11(fvec4) Function None 12
              14:             Label
           88(f):     87(ptr) Variable Function
         120(v2):    119(ptr) Variable Function
         131(v4):    130(ptr) Variable Function
              93:     92(ptr) AccessChain 91 37
              94:   10(float) Load 93
              98:     92(ptr) AccessChain 97(bufferInstance) 37
              99:   10(float) Load 98
             100:   10(float) FAdd 94 99
             111:     92(ptr) AccessChain 109 110 75
             112:   10(float) Load 111
             113:   10(float) FAdd 100 112
             115:     38(ptr) AccessChain 109 110 114
             116:      6(int) Load 115
             117:   10(float) ConvertUToF 116
             118:   10(float) FAdd 113 117
                              Store 88(f) 118
             122:    121(ptr) AccessChain 109 75
             123:  101(fvec2) Load 122
             124:    121(ptr) AccessChain 109 114
             125:  101(fvec2) Load 124
             126:  101(fvec2) FAdd 123 125
             127:    121(ptr) AccessChain 109 110 37
             128:  101(fvec2) Load 127
             129:  101(fvec2) FAdd 126 128
                              Store 120(v2) 129
             133:    132(ptr) AccessChain 109 37
             134:   11(fvec4) Load 133
             136:    132(ptr) AccessChain 109 135 37
             137:   11(fvec4) Load 136
             138:   11(fvec4) FAdd 134 137
             139:    132(ptr) AccessChain 109 135 75
             140:   11(fvec4) Load 139
             141:   11(fvec4) FAdd 138 140
             142:    132(ptr) AccessChain 109 135 114
             143:   11(fvec4) Load 142
             144:   11(fvec4) FAdd 141 143
             145:    132(ptr) AccessChain 91 75
             146:   11(fvec4) Load 145
             147:   11(fvec4) FAdd 144 146
             148:    132(ptr) AccessChain 97(bufferInstance) 75
             149:   11(fvec4) Load 148
             150:   11(fvec4) FAdd 147 149
             152:          21 Load 151(t1)
             155:   11(fvec4) ImageSampleImplicitLod 152 154
             156:   11(fvec4) FAdd 150 155
             158:          21 Load 157(structUniform.t0)
             159:   11(fvec4) ImageSampleImplicitLod 158 154
             160:   11(fvec4) FAdd 156 159
                              Store 131(v4) 160
             161:   10(float) Load 88(f)
             162:   11(fvec4) CompositeConstruct 161 161 161 161
             163:  101(fvec2) Load 120(v2)
             165:   10(float) CompositeExtract 163 0
             166:   10(float) CompositeExtract 163 1
             167:   11(fvec4) CompositeConstruct 165 166 164 164
             168:   11(fvec4) FMul 162 167
             169:   11(fvec4) Load 131(v4)
             170:   11(fvec4) FMul 168 169
                              ReturnValue 170
                              FunctionEnd
29(baz(struct-SamplerArray-s21[4]1;s21;s21;s21;s21;):   11(fvec4) Function None 23
    24(samplers):     19(ptr) FunctionParameter
25(samplers.tn[0]):     22(ptr) FunctionParameter
26(samplers.tn[1]):     22(ptr) FunctionParameter
27(samplers.tn[2]):     22(ptr) FunctionParameter
28(samplers.tn[3]):     22(ptr) FunctionParameter
              30:             Label
             173:          21 Load 25(samplers.tn[0])
             174:   11(fvec4) ImageSampleImplicitLod 173 154
             175:          21 Load 26(samplers.tn[1])
             176:   11(fvec4) ImageSampleImplicitLod 175 154
             177:   11(fvec4) FAdd 174 176
             178:          21 Load 27(samplers.tn[2])
             179:   11(fvec4) ImageSampleImplicitLod 178 154
             180:   11(fvec4) FAdd 177 179
             181:          21 Load 28(samplers.tn[3])
             182:   11(fvec4) ImageSampleImplicitLod 181 154
             183:   11(fvec4) FAdd 180 182
                              ReturnValue 183
                              FunctionEnd
