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:36  Function Definition: bar( ( global highp uint)
0:36    Function Parameters: 
0:37    Sequence
0:37      Sequence
0:37        move second child to first child ( temp highp uint)
0:37          'j' ( temp highp uint)
0:37          Constant:
0:37            0 (const uint)
0:38      move second child to first child ( temp highp uint)
0:38        'j' ( temp highp uint)
0:38        AtomicAdd ( global highp uint)
0:38          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:38            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:38            Constant:
0:38              0 (const uint)
0:38          Constant:
0:38            1 (const uint)
0:39      move second child to first child ( temp highp uint)
0:39        'j' ( temp highp uint)
0:39        subtract ( temp highp uint)
0:39          AtomicAdd ( global highp uint)
0:39            counter1: direct index for structure ( coherent volatile buffer highp uint)
0:39              'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:39              Constant:
0:39                0 (const uint)
0:39            Constant:
0:39              4294967295 (const uint)
0:39          Constant:
0:39            1 (const uint)
0:40      move second child to first child ( temp highp uint)
0:40        'j' ( temp highp uint)
0:40        counter1: direct index for structure ( coherent volatile buffer highp uint)
0:40          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:40          Constant:
0:40            0 (const uint)
0:42      move second child to first child ( temp highp uint)
0:42        'j' ( temp highp uint)
0:42        AtomicAdd ( global highp uint)
0:42          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:42            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:42            Constant:
0:42              0 (const uint)
0:42          Constant:
0:42            1 (const uint)
0:43      move second child to first child ( temp highp uint)
0:43        'j' ( temp highp uint)
0:43        AtomicAdd ( global highp uint)
0:43          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:43            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:43            Constant:
0:43              0 (const uint)
0:43          Constant:
0:43            4294967295 (const uint)
0:44      move second child to first child ( temp highp uint)
0:44        'j' ( temp highp uint)
0:44        AtomicSubtract ( global highp uint)
0:44          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:44            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:44            Constant:
0:44              0 (const uint)
0:44          Constant:
0:44            1 (const uint)
0:46      move second child to first child ( temp highp uint)
0:46        'j' ( temp highp uint)
0:46        AtomicMin ( 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          'j' ( temp highp uint)
0:47      move second child to first child ( temp highp uint)
0:47        'j' ( temp highp uint)
0:47        AtomicMax ( global 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:47          'j' ( temp highp uint)
0:48      move second child to first child ( temp highp uint)
0:48        'j' ( temp highp uint)
0:48        AtomicAnd ( global highp uint)
0:48          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:48            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:48            Constant:
0:48              0 (const uint)
0:48          'j' ( temp highp uint)
0:50      move second child to first child ( temp highp uint)
0:50        'j' ( temp highp uint)
0:50        AtomicOr ( 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          'j' ( temp highp uint)
0:51      move second child to first child ( temp highp uint)
0:51        'j' ( temp highp uint)
0:51        AtomicXor ( 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          'j' ( temp highp uint)
0:53      move second child to first child ( temp highp uint)
0:53        'j' ( temp highp uint)
0:53        AtomicExchange ( 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        AtomicCompSwap ( 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          Constant:
0:54            0 (const uint)
0:54          'j' ( temp highp uint)
0:56      AtomicAdd ( global highp uint)
0:56        counter2: direct index for structure ( coherent volatile buffer highp uint)
0:56          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:56          Constant:
0:56            1 (const uint)
0:56        Constant:
0:56          1 (const uint)
0:57      AtomicAdd ( global highp uint)
0:57        counter3: direct index for structure ( coherent volatile buffer highp uint)
0:57          'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:57          Constant:
0:57            0 (const uint)
0:57        Constant:
0:57          1 (const uint)
0:59      MemoryBarrierBuffer ( global void)
0:61      Branch: Return with expression
0:61        'j' ( temp highp uint)
0:64  Function Definition: foo( ( global highp 4-component vector of float)
0:64    Function Parameters: 
0:65    Sequence
0:65      Sequence
0:65        move second child to first child ( temp highp float)
0:65          'f' ( temp highp float)
0:65          add ( temp highp float)
0:65            add ( temp highp float)
0:65              add ( temp highp float)
0:65                j: direct index for structure (layout( column_major std140) uniform highp float)
0:65                  '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:65                  Constant:
0:65                    0 (const uint)
0:65                j: direct index for structure (layout( column_major std430) buffer highp float)
0:65                  '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:65                  Constant:
0:65                    0 (const int)
0:65              y: direct index for structure ( global highp float)
0:65                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:65                  '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} structUniform})
0:65                  Constant:
0:65                    4 (const uint)
0:65                Constant:
0:65                  1 (const int)
0:65            Convert uint to float ( temp highp float)
0:65              z: direct index for structure ( global highp uint)
0:65                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:65                  '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} structUniform})
0:65                  Constant:
0:65                    4 (const uint)
0:65                Constant:
0:65                  2 (const int)
0:66      Sequence
0:66        move second child to first child ( temp highp 2-component vector of float)
0:66          'v2' ( temp highp 2-component vector of float)
0:66          add ( temp highp 2-component vector of float)
0:66            add ( temp highp 2-component vector of float)
0:66              b: direct index for structure ( uniform highp 2-component vector of float)
0:66                '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} structUniform})
0:66                Constant:
0:66                  1 (const uint)
0:66              c: direct index for structure ( uniform highp 2-component vector of float)
0:66                '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} structUniform})
0:66                Constant:
0:66                  2 (const uint)
0:66            x: direct index for structure ( global highp 2-component vector of float)
0:66              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:66                '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} structUniform})
0:66                Constant:
0:66                  4 (const uint)
0:66              Constant:
0:66                0 (const int)
0:67      Sequence
0:67        move second child to first child ( temp highp 4-component vector of float)
0:67          'v4' ( temp highp 4-component vector of float)
0:67          add ( temp highp 4-component vector of float)
0:67            add ( temp highp 4-component vector of float)
0:67              add ( temp highp 4-component vector of float)
0:67                add ( temp highp 4-component vector of float)
0:67                  add ( temp highp 4-component vector of float)
0:67                    add ( temp highp 4-component vector of float)
0:67                      a: direct index for structure ( uniform highp 4-component vector of float)
0:67                        '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} structUniform})
0:67                        Constant:
0:67                          0 (const uint)
0:67                      direct index ( temp highp 4-component vector of float)
0:67                        d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                          '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} structUniform})
0:67                          Constant:
0:67                            3 (const uint)
0:67                        Constant:
0:67                          0 (const int)
0:67                    direct index ( temp highp 4-component vector of float)
0:67                      d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                        '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} structUniform})
0:67                        Constant:
0:67                          3 (const uint)
0:67                      Constant:
0:67                        1 (const int)
0:67                  direct index ( temp highp 4-component vector of float)
0:67                    d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                      '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} structUniform})
0:67                      Constant:
0:67                        3 (const uint)
0:67                    Constant:
0:67                      2 (const int)
0:67                k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:67                  '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:67                  Constant:
0:67                    1 (const uint)
0:67              k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:67                '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:67                Constant:
0:67                  1 (const int)
0:67            texture ( global highp 4-component vector of float)
0:67              't1' ( uniform highp sampler2D)
0:67              Constant:
0:67                0.000000
0:67                0.000000
0:68      Branch: Return with expression
0:68        component-wise multiply ( temp highp 4-component vector of float)
0:68          component-wise multiply ( temp highp 4-component vector of float)
0:68            Construct vec4 ( temp highp 4-component vector of float)
0:68              'f' ( temp highp float)
0:68            Construct vec4 ( temp highp 4-component vector of float)
0:68              'v2' ( temp highp 2-component vector of float)
0:68              Constant:
0:68                1.000000
0:68              Constant:
0:68                1.000000
0:68          'v4' ( temp highp 4-component vector of float)
0:71  Function Definition: main( ( global void)
0:71    Function Parameters: 
0:72    Sequence
0:72      Sequence
0:72        move second child to first child ( temp highp float)
0:72          'j' ( temp highp float)
0:72          Convert uint to float ( temp highp float)
0:72            Function Call: bar( ( global highp uint)
0:73      move second child to first child ( temp highp 4-component vector of float)
0:73        'o' ( out highp 4-component vector of float)
0:73        vector-scale ( temp highp 4-component vector of float)
0:73          'j' ( temp highp float)
0:73          Function Call: foo( ( global highp 4-component vector of float)
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} structUniform})
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:36  Function Definition: bar( ( global highp uint)
0:36    Function Parameters: 
0:37    Sequence
0:37      Sequence
0:37        move second child to first child ( temp highp uint)
0:37          'j' ( temp highp uint)
0:37          Constant:
0:37            0 (const uint)
0:38      move second child to first child ( temp highp uint)
0:38        'j' ( temp highp uint)
0:38        AtomicAdd ( global highp uint)
0:38          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:38            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:38            Constant:
0:38              0 (const uint)
0:38          Constant:
0:38            1 (const uint)
0:39      move second child to first child ( temp highp uint)
0:39        'j' ( temp highp uint)
0:39        subtract ( temp highp uint)
0:39          AtomicAdd ( global highp uint)
0:39            counter1: direct index for structure ( coherent volatile buffer highp uint)
0:39              'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:39              Constant:
0:39                0 (const uint)
0:39            Constant:
0:39              4294967295 (const uint)
0:39          Constant:
0:39            1 (const uint)
0:40      move second child to first child ( temp highp uint)
0:40        'j' ( temp highp uint)
0:40        counter1: direct index for structure ( coherent volatile buffer highp uint)
0:40          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:40          Constant:
0:40            0 (const uint)
0:42      move second child to first child ( temp highp uint)
0:42        'j' ( temp highp uint)
0:42        AtomicAdd ( global highp uint)
0:42          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:42            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:42            Constant:
0:42              0 (const uint)
0:42          Constant:
0:42            1 (const uint)
0:43      move second child to first child ( temp highp uint)
0:43        'j' ( temp highp uint)
0:43        AtomicAdd ( global highp uint)
0:43          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:43            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:43            Constant:
0:43              0 (const uint)
0:43          Constant:
0:43            4294967295 (const uint)
0:44      move second child to first child ( temp highp uint)
0:44        'j' ( temp highp uint)
0:44        AtomicSubtract ( global highp uint)
0:44          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:44            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:44            Constant:
0:44              0 (const uint)
0:44          Constant:
0:44            1 (const uint)
0:46      move second child to first child ( temp highp uint)
0:46        'j' ( temp highp uint)
0:46        AtomicMin ( 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          'j' ( temp highp uint)
0:47      move second child to first child ( temp highp uint)
0:47        'j' ( temp highp uint)
0:47        AtomicMax ( global 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:47          'j' ( temp highp uint)
0:48      move second child to first child ( temp highp uint)
0:48        'j' ( temp highp uint)
0:48        AtomicAnd ( global highp uint)
0:48          counter1: direct index for structure ( coherent volatile buffer highp uint)
0:48            'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:48            Constant:
0:48              0 (const uint)
0:48          'j' ( temp highp uint)
0:50      move second child to first child ( temp highp uint)
0:50        'j' ( temp highp uint)
0:50        AtomicOr ( 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          'j' ( temp highp uint)
0:51      move second child to first child ( temp highp uint)
0:51        'j' ( temp highp uint)
0:51        AtomicXor ( 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          'j' ( temp highp uint)
0:53      move second child to first child ( temp highp uint)
0:53        'j' ( temp highp uint)
0:53        AtomicExchange ( 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        AtomicCompSwap ( 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          Constant:
0:54            0 (const uint)
0:54          'j' ( temp highp uint)
0:56      AtomicAdd ( global highp uint)
0:56        counter2: direct index for structure ( coherent volatile buffer highp uint)
0:56          'anon@2' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:56          Constant:
0:56            1 (const uint)
0:56        Constant:
0:56          1 (const uint)
0:57      AtomicAdd ( global highp uint)
0:57        counter3: direct index for structure ( coherent volatile buffer highp uint)
0:57          'anon@3' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3})
0:57          Constant:
0:57            0 (const uint)
0:57        Constant:
0:57          1 (const uint)
0:59      MemoryBarrierBuffer ( global void)
0:61      Branch: Return with expression
0:61        'j' ( temp highp uint)
0:64  Function Definition: foo( ( global highp 4-component vector of float)
0:64    Function Parameters: 
0:65    Sequence
0:65      Sequence
0:65        move second child to first child ( temp highp float)
0:65          'f' ( temp highp float)
0:65          add ( temp highp float)
0:65            add ( temp highp float)
0:65              add ( temp highp float)
0:65                j: direct index for structure (layout( column_major std140) uniform highp float)
0:65                  '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:65                  Constant:
0:65                    0 (const uint)
0:65                j: direct index for structure (layout( column_major std430) buffer highp float)
0:65                  '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:65                  Constant:
0:65                    0 (const int)
0:65              y: direct index for structure ( global highp float)
0:65                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:65                  '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} structUniform})
0:65                  Constant:
0:65                    4 (const uint)
0:65                Constant:
0:65                  1 (const int)
0:65            Convert uint to float ( temp highp float)
0:65              z: direct index for structure ( global highp uint)
0:65                structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:65                  '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} structUniform})
0:65                  Constant:
0:65                    4 (const uint)
0:65                Constant:
0:65                  2 (const int)
0:66      Sequence
0:66        move second child to first child ( temp highp 2-component vector of float)
0:66          'v2' ( temp highp 2-component vector of float)
0:66          add ( temp highp 2-component vector of float)
0:66            add ( temp highp 2-component vector of float)
0:66              b: direct index for structure ( uniform highp 2-component vector of float)
0:66                '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} structUniform})
0:66                Constant:
0:66                  1 (const uint)
0:66              c: direct index for structure ( uniform highp 2-component vector of float)
0:66                '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} structUniform})
0:66                Constant:
0:66                  2 (const uint)
0:66            x: direct index for structure ( global highp 2-component vector of float)
0:66              structUniform: direct index for structure ( uniform structure{ global highp 2-component vector of float x,  global highp float y,  global highp uint z})
0:66                '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} structUniform})
0:66                Constant:
0:66                  4 (const uint)
0:66              Constant:
0:66                0 (const int)
0:67      Sequence
0:67        move second child to first child ( temp highp 4-component vector of float)
0:67          'v4' ( temp highp 4-component vector of float)
0:67          add ( temp highp 4-component vector of float)
0:67            add ( temp highp 4-component vector of float)
0:67              add ( temp highp 4-component vector of float)
0:67                add ( temp highp 4-component vector of float)
0:67                  add ( temp highp 4-component vector of float)
0:67                    add ( temp highp 4-component vector of float)
0:67                      a: direct index for structure ( uniform highp 4-component vector of float)
0:67                        '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} structUniform})
0:67                        Constant:
0:67                          0 (const uint)
0:67                      direct index ( temp highp 4-component vector of float)
0:67                        d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                          '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} structUniform})
0:67                          Constant:
0:67                            3 (const uint)
0:67                        Constant:
0:67                          0 (const int)
0:67                    direct index ( temp highp 4-component vector of float)
0:67                      d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                        '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} structUniform})
0:67                        Constant:
0:67                          3 (const uint)
0:67                      Constant:
0:67                        1 (const int)
0:67                  direct index ( temp highp 4-component vector of float)
0:67                    d: direct index for structure ( uniform 10-element array of highp 4-component vector of float)
0:67                      '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} structUniform})
0:67                      Constant:
0:67                        3 (const uint)
0:67                    Constant:
0:67                      2 (const int)
0:67                k: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
0:67                  '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:67                  Constant:
0:67                    1 (const uint)
0:67              k: direct index for structure (layout( column_major std430) buffer highp 4-component vector of float)
0:67                '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:67                Constant:
0:67                  1 (const int)
0:67            texture ( global highp 4-component vector of float)
0:67              't1' ( uniform highp sampler2D)
0:67              Constant:
0:67                0.000000
0:67                0.000000
0:68      Branch: Return with expression
0:68        component-wise multiply ( temp highp 4-component vector of float)
0:68          component-wise multiply ( temp highp 4-component vector of float)
0:68            Construct vec4 ( temp highp 4-component vector of float)
0:68              'f' ( temp highp float)
0:68            Construct vec4 ( temp highp 4-component vector of float)
0:68              'v2' ( temp highp 2-component vector of float)
0:68              Constant:
0:68                1.000000
0:68              Constant:
0:68                1.000000
0:68          'v4' ( temp highp 4-component vector of float)
0:71  Function Definition: main( ( global void)
0:71    Function Parameters: 
0:72    Sequence
0:72      Sequence
0:72        move second child to first child ( temp highp float)
0:72          'j' ( temp highp float)
0:72          Convert uint to float ( temp highp float)
0:72            Function Call: bar( ( global highp uint)
0:73      move second child to first child ( temp highp 4-component vector of float)
0:73        'o' ( out highp 4-component vector of float)
0:73        vector-scale ( temp highp 4-component vector of float)
0:73          'j' ( temp highp float)
0:73          Function Call: foo( ( global highp 4-component vector of float)
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} structUniform})
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): 8000a
// Id's are bound by 163

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 159
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 460
                              Name 4  "main"
                              Name 8  "bar("
                              Name 13  "foo("
                              Name 16  "j"
                              Name 18  "gl_AtomicCounterBlock_0"
                              MemberName 18(gl_AtomicCounterBlock_0) 0  "counter1"
                              MemberName 18(gl_AtomicCounterBlock_0) 1  "counter2"
                              Name 20  ""
                              Name 63  "gl_AtomicCounterBlock_1"
                              MemberName 63(gl_AtomicCounterBlock_1) 0  "counter3"
                              Name 65  ""
                              Name 73  "f"
                              Name 74  "UniformBlock"
                              MemberName 74(UniformBlock) 0  "j"
                              MemberName 74(UniformBlock) 1  "k"
                              Name 76  ""
                              Name 80  "BufferBlock"
                              MemberName 80(BufferBlock) 0  "j"
                              MemberName 80(BufferBlock) 1  "k"
                              Name 82  "bufferInstance"
                              Name 89  "e"
                              MemberName 89(e) 0  "x"
                              MemberName 89(e) 1  "y"
                              MemberName 89(e) 2  "z"
                              Name 90  "gl_DefaultUniformBlock"
                              MemberName 90(gl_DefaultUniformBlock) 0  "a"
                              MemberName 90(gl_DefaultUniformBlock) 1  "b"
                              MemberName 90(gl_DefaultUniformBlock) 2  "c"
                              MemberName 90(gl_DefaultUniformBlock) 3  "d"
                              MemberName 90(gl_DefaultUniformBlock) 4  "structUniform"
                              Name 92  ""
                              Name 103  "v2"
                              Name 114  "v4"
                              Name 137  "t1"
                              Name 155  "j"
                              Name 159  "o"
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Volatile
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 0 Offset 0
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Volatile
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 18(gl_AtomicCounterBlock_0) 1 Offset 4
                              Decorate 18(gl_AtomicCounterBlock_0) BufferBlock
                              Decorate 20 DescriptorSet 0
                              Decorate 20 Binding 4
                              MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent
                              MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Volatile
                              MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Coherent
                              MemberDecorate 63(gl_AtomicCounterBlock_1) 0 Offset 0
                              Decorate 63(gl_AtomicCounterBlock_1) BufferBlock
                              Decorate 65 DescriptorSet 0
                              Decorate 65 Binding 5
                              MemberDecorate 74(UniformBlock) 0 Offset 0
                              MemberDecorate 74(UniformBlock) 1 Offset 16
                              Decorate 74(UniformBlock) Block
                              Decorate 76 DescriptorSet 0
                              Decorate 76 Binding 2
                              MemberDecorate 80(BufferBlock) 0 Offset 0
                              MemberDecorate 80(BufferBlock) 1 Offset 16
                              Decorate 80(BufferBlock) BufferBlock
                              Decorate 82(bufferInstance) DescriptorSet 0
                              Decorate 82(bufferInstance) Binding 3
                              Decorate 88 ArrayStride 16
                              MemberDecorate 89(e) 0 Offset 0
                              MemberDecorate 89(e) 1 Offset 8
                              MemberDecorate 89(e) 2 Offset 12
                              MemberDecorate 90(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 90(gl_DefaultUniformBlock) 1 Offset 16
                              MemberDecorate 90(gl_DefaultUniformBlock) 2 Offset 24
                              MemberDecorate 90(gl_DefaultUniformBlock) 3 Offset 32
                              MemberDecorate 90(gl_DefaultUniformBlock) 4 Offset 192
                              Decorate 90(gl_DefaultUniformBlock) Block
                              Decorate 92 DescriptorSet 0
                              Decorate 92 Binding 0
                              Decorate 137(t1) DescriptorSet 0
                              Decorate 137(t1) Binding 1
                              Decorate 159(o) Location 0
               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:             TypePointer Function 6(int)
              17:      6(int) Constant 0
18(gl_AtomicCounterBlock_0):             TypeStruct 6(int) 6(int)
              19:             TypePointer Uniform 18(gl_AtomicCounterBlock_0)
              20:     19(ptr) Variable Uniform
              21:             TypeInt 32 1
              22:     21(int) Constant 0
              23:             TypePointer Uniform 6(int)
              25:      6(int) Constant 1
              28:      6(int) Constant 4294967295
              60:     21(int) Constant 1
63(gl_AtomicCounterBlock_1):             TypeStruct 6(int)
              64:             TypePointer Uniform 63(gl_AtomicCounterBlock_1)
              65:     64(ptr) Variable Uniform
              68:      6(int) Constant 72
              72:             TypePointer Function 10(float)
74(UniformBlock):             TypeStruct 10(float) 11(fvec4)
              75:             TypePointer Uniform 74(UniformBlock)
              76:     75(ptr) Variable Uniform
              77:             TypePointer Uniform 10(float)
 80(BufferBlock):             TypeStruct 10(float) 11(fvec4)
              81:             TypePointer Uniform 80(BufferBlock)
82(bufferInstance):     81(ptr) Variable Uniform
              86:             TypeVector 10(float) 2
              87:      6(int) Constant 10
              88:             TypeArray 11(fvec4) 87
           89(e):             TypeStruct 86(fvec2) 10(float) 6(int)
90(gl_DefaultUniformBlock):             TypeStruct 11(fvec4) 86(fvec2) 86(fvec2) 88 89(e)
              91:             TypePointer Uniform 90(gl_DefaultUniformBlock)
              92:     91(ptr) Variable Uniform
              93:     21(int) Constant 4
              97:     21(int) Constant 2
             102:             TypePointer Function 86(fvec2)
             104:             TypePointer Uniform 86(fvec2)
             113:             TypePointer Function 11(fvec4)
             115:             TypePointer Uniform 11(fvec4)
             118:     21(int) Constant 3
             134:             TypeImage 10(float) 2D sampled format:Unknown
             135:             TypeSampledImage 134
             136:             TypePointer UniformConstant 135
         137(t1):    136(ptr) Variable UniformConstant
             139:   10(float) Constant 0
             140:   86(fvec2) ConstantComposite 139 139
             146:   10(float) Constant 1065353216
             158:             TypePointer Output 11(fvec4)
          159(o):    158(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
          155(j):     72(ptr) Variable Function
             156:      6(int) FunctionCall 8(bar()
             157:   10(float) ConvertUToF 156
                              Store 155(j) 157
             160:   10(float) Load 155(j)
             161:   11(fvec4) FunctionCall 13(foo()
             162:   11(fvec4) VectorTimesScalar 161 160
                              Store 159(o) 162
                              Return
                              FunctionEnd
         8(bar():      6(int) Function None 7
               9:             Label
           16(j):     15(ptr) Variable Function
                              Store 16(j) 17
              24:     23(ptr) AccessChain 20 22
              26:      6(int) AtomicIAdd 24 25 17 25
                              Store 16(j) 26
              27:     23(ptr) AccessChain 20 22
              29:      6(int) AtomicIAdd 27 25 17 28
              30:      6(int) ISub 29 25
                              Store 16(j) 30
              31:     23(ptr) AccessChain 20 22
              32:      6(int) Load 31
                              Store 16(j) 32
              33:     23(ptr) AccessChain 20 22
              34:      6(int) AtomicIAdd 33 25 17 25
                              Store 16(j) 34
              35:     23(ptr) AccessChain 20 22
              36:      6(int) AtomicIAdd 35 25 17 28
                              Store 16(j) 36
              37:     23(ptr) AccessChain 20 22
              38:      6(int) AtomicISub 37 25 17 25
                              Store 16(j) 38
              39:     23(ptr) AccessChain 20 22
              40:      6(int) Load 16(j)
              41:      6(int) AtomicUMin 39 25 17 40
                              Store 16(j) 41
              42:     23(ptr) AccessChain 20 22
              43:      6(int) Load 16(j)
              44:      6(int) AtomicUMax 42 25 17 43
                              Store 16(j) 44
              45:     23(ptr) AccessChain 20 22
              46:      6(int) Load 16(j)
              47:      6(int) AtomicAnd 45 25 17 46
                              Store 16(j) 47
              48:     23(ptr) AccessChain 20 22
              49:      6(int) Load 16(j)
              50:      6(int) AtomicOr 48 25 17 49
                              Store 16(j) 50
              51:     23(ptr) AccessChain 20 22
              52:      6(int) Load 16(j)
              53:      6(int) AtomicXor 51 25 17 52
                              Store 16(j) 53
              54:     23(ptr) AccessChain 20 22
              55:      6(int) Load 16(j)
              56:      6(int) AtomicExchange 54 25 17 55
                              Store 16(j) 56
              57:     23(ptr) AccessChain 20 22
              58:      6(int) Load 16(j)
              59:      6(int) AtomicCompareExchange 57 25 17 17 58 17
                              Store 16(j) 59
              61:     23(ptr) AccessChain 20 60
              62:      6(int) AtomicIAdd 61 25 17 25
              66:     23(ptr) AccessChain 65 22
              67:      6(int) AtomicIAdd 66 25 17 25
                              MemoryBarrier 25 68
              69:      6(int) Load 16(j)
                              ReturnValue 69
                              FunctionEnd
        13(foo():   11(fvec4) Function None 12
              14:             Label
           73(f):     72(ptr) Variable Function
         103(v2):    102(ptr) Variable Function
         114(v4):    113(ptr) Variable Function
              78:     77(ptr) AccessChain 76 22
              79:   10(float) Load 78
              83:     77(ptr) AccessChain 82(bufferInstance) 22
              84:   10(float) Load 83
              85:   10(float) FAdd 79 84
              94:     77(ptr) AccessChain 92 93 60
              95:   10(float) Load 94
              96:   10(float) FAdd 85 95
              98:     23(ptr) AccessChain 92 93 97
              99:      6(int) Load 98
             100:   10(float) ConvertUToF 99
             101:   10(float) FAdd 96 100
                              Store 73(f) 101
             105:    104(ptr) AccessChain 92 60
             106:   86(fvec2) Load 105
             107:    104(ptr) AccessChain 92 97
             108:   86(fvec2) Load 107
             109:   86(fvec2) FAdd 106 108
             110:    104(ptr) AccessChain 92 93 22
             111:   86(fvec2) Load 110
             112:   86(fvec2) FAdd 109 111
                              Store 103(v2) 112
             116:    115(ptr) AccessChain 92 22
             117:   11(fvec4) Load 116
             119:    115(ptr) AccessChain 92 118 22
             120:   11(fvec4) Load 119
             121:   11(fvec4) FAdd 117 120
             122:    115(ptr) AccessChain 92 118 60
             123:   11(fvec4) Load 122
             124:   11(fvec4) FAdd 121 123
             125:    115(ptr) AccessChain 92 118 97
             126:   11(fvec4) Load 125
             127:   11(fvec4) FAdd 124 126
             128:    115(ptr) AccessChain 76 60
             129:   11(fvec4) Load 128
             130:   11(fvec4) FAdd 127 129
             131:    115(ptr) AccessChain 82(bufferInstance) 60
             132:   11(fvec4) Load 131
             133:   11(fvec4) FAdd 130 132
             138:         135 Load 137(t1)
             141:   11(fvec4) ImageSampleImplicitLod 138 140
             142:   11(fvec4) FAdd 133 141
                              Store 114(v4) 142
             143:   10(float) Load 73(f)
             144:   11(fvec4) CompositeConstruct 143 143 143 143
             145:   86(fvec2) Load 103(v2)
             147:   10(float) CompositeExtract 145 0
             148:   10(float) CompositeExtract 145 1
             149:   11(fvec4) CompositeConstruct 147 148 146 146
             150:   11(fvec4) FMul 144 149
             151:   11(fvec4) Load 114(v4)
             152:   11(fvec4) FMul 150 151
                              ReturnValue 152
                              FunctionEnd
