vk.relaxed.stagelink.vert
Shader version: 460
0:? Sequence
0:18  Function Definition: foo( ( global highp 4-component vector of float)
0:18    Function Parameters: 
0:19    Sequence
0:19      Sequence
0:19        move second child to first child ( temp highp uint)
0:19          'j' ( temp highp uint)
0:19          add ( temp highp uint)
0:19            AtomicAdd ( global highp uint)
0:19              counter2: direct index for structure ( coherent volatile buffer highp uint)
0:19                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:19                Constant:
0:19                  1 (const uint)
0:19              Constant:
0:19                1 (const uint)
0:19            subtract ( temp highp uint)
0:19              AtomicAdd ( global highp uint)
0:19                counter3: direct index for structure ( coherent volatile buffer highp uint)
0:19                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:19                  Constant:
0:19                    0 (const uint)
0:19                Constant:
0:19                  4294967295 (const uint)
0:19              Constant:
0:19                1 (const uint)
0:20      Sequence
0:20        move second child to first child ( temp highp 4-component vector of float)
0:20          'v' ( temp highp 4-component vector of float)
0:20          add ( temp highp 4-component vector of float)
0:20            add ( temp highp 4-component vector of float)
0:20              add ( temp highp 4-component vector of float)
0:20                a: direct index for structure ( uniform highp 4-component vector of float)
0:20                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                  Constant:
0:20                    0 (const uint)
0:20                Construct vec4 ( temp highp 4-component vector of float)
0:20                  direct index ( temp highp float)
0:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        2 (const uint)
0:20                    Constant:
0:20                      0 (const int)
0:20                  direct index ( temp highp float)
0:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        2 (const uint)
0:20                    Constant:
0:20                      1 (const int)
0:20                  direct index ( temp highp float)
0:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        1 (const uint)
0:20                    Constant:
0:20                      0 (const int)
0:20                  direct index ( temp highp float)
0:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        1 (const uint)
0:20                    Constant:
0:20                      1 (const int)
0:20              c2: direct index for structure ( uniform highp 4-component vector of float)
0:20                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                Constant:
0:20                  3 (const uint)
0:20            d: direct index for structure ( uniform highp 4-component vector of float)
0:20              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20              Constant:
0:20                4 (const uint)
0:22      Branch: Return with expression
0:22        vector-scale ( temp highp 4-component vector of float)
0:22          Convert uint to float ( temp highp float)
0:22            'j' ( temp highp uint)
0:22          'v' ( temp highp 4-component vector of float)
0:25  Function Definition: main( ( global void)
0:25    Function Parameters: 
0:27    Sequence
0:27      Sequence
0:27        move second child to first child ( temp highp 4-component vector of float)
0:27          'v' ( temp highp 4-component vector of float)
0:27          Function Call: foo( ( global highp 4-component vector of float)
0:28      move second child to first child ( temp highp 4-component vector of float)
0:28        'v' ( temp highp 4-component vector of float)
0:28        add ( temp highp 4-component vector of float)
0:28          'v' ( temp highp 4-component vector of float)
0:28          indirect index ( temp highp 4-component vector of float)
0:28            s: direct index for structure ( uniform 4-element array of highp 4-component vector of float)
0:28              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:28              Constant:
0:28                5 (const uint)
0:28            subtract ( temp int)
0:28              'gl_VertexIndex' ( in int VertexIndex)
0:28              'gl_VertexIndex' ( in int VertexIndex)
0:29      move second child to first child ( temp highp float)
0:29        direct index ( temp highp float)
0:29          'v' ( temp highp 4-component vector of float)
0:29          Constant:
0:29            0 (const int)
0:29        subtract ( temp highp float)
0:29          direct index ( temp highp float)
0:29            'v' ( temp highp 4-component vector of float)
0:29            Constant:
0:29              0 (const int)
0:29          Convert int to float ( temp highp float)
0:29            subtract ( temp highp int)
0:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
0:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
0:30      move second child to first child ( temp highp 4-component vector of float)
0:30        'io' (layout( location=0) smooth out highp 4-component vector of float)
0:30        'v' ( temp highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth 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 b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)

vk.relaxed.stagelink.frag
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:19  Function Definition: foo( ( global highp 4-component vector of float)
0:19    Function Parameters: 
0:20    Sequence
0:20      Sequence
0:20        move second child to first child ( temp highp uint)
0:20          'j' ( temp highp uint)
0:20          add ( temp highp uint)
0:20            AtomicAdd ( global highp uint)
0:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
0:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:20                Constant:
0:20                  0 (const uint)
0:20              Constant:
0:20                1 (const uint)
0:20            subtract ( temp highp uint)
0:20              AtomicAdd ( global highp uint)
0:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
0:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:20                  Constant:
0:20                    1 (const uint)
0:20                Constant:
0:20                  4294967295 (const uint)
0:20              Constant:
0:20                1 (const uint)
0:21      Sequence
0:21        move second child to first child ( temp highp 4-component vector of float)
0:21          'v' ( temp highp 4-component vector of float)
0:21          add ( temp highp 4-component vector of float)
0:21            add ( temp highp 4-component vector of float)
0:21              add ( temp highp 4-component vector of float)
0:21                a: direct index for structure ( uniform highp 4-component vector of float)
0:21                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                  Constant:
0:21                    0 (const uint)
0:21                Construct vec4 ( temp highp 4-component vector of float)
0:21                  direct index ( temp highp float)
0:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        1 (const uint)
0:21                    Constant:
0:21                      0 (const int)
0:21                  direct index ( temp highp float)
0:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        1 (const uint)
0:21                    Constant:
0:21                      1 (const int)
0:21                  direct index ( temp highp float)
0:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        2 (const uint)
0:21                    Constant:
0:21                      0 (const int)
0:21                  direct index ( temp highp float)
0:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        2 (const uint)
0:21                    Constant:
0:21                      1 (const int)
0:21              c1: direct index for structure ( uniform highp 4-component vector of float)
0:21                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                Constant:
0:21                  3 (const uint)
0:21            d: direct index for structure ( uniform highp 4-component vector of float)
0:21              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21              Constant:
0:21                4 (const uint)
0:23      Branch: Return with expression
0:23        vector-scale ( temp highp 4-component vector of float)
0:23          Convert uint to float ( temp highp float)
0:23            'j' ( temp highp uint)
0:23          'v' ( temp highp 4-component vector of float)
0:26  Function Definition: main( ( global void)
0:26    Function Parameters: 
0:27    Sequence
0:27      move second child to first child ( temp highp 4-component vector of float)
0:27        'o' ( out highp 4-component vector of float)
0:27        add ( temp highp 4-component vector of float)
0:27          'io' (layout( location=0) smooth in highp 4-component vector of float)
0:27          Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
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 b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})


Linked vertex stage:


Linked fragment stage:


Shader version: 460
0:? Sequence
0:18  Function Definition: foo( ( global highp 4-component vector of float)
0:18    Function Parameters: 
0:19    Sequence
0:19      Sequence
0:19        move second child to first child ( temp highp uint)
0:19          'j' ( temp highp uint)
0:19          add ( temp highp uint)
0:19            AtomicAdd ( global highp uint)
0:19              counter2: direct index for structure ( coherent volatile buffer highp uint)
0:19                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:19                Constant:
0:19                  1 (const uint)
0:19              Constant:
0:19                1 (const uint)
0:19            subtract ( temp highp uint)
0:19              AtomicAdd ( global highp uint)
0:19                counter3: direct index for structure ( coherent volatile buffer highp uint)
0:19                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:19                  Constant:
0:19                    0 (const uint)
0:19                Constant:
0:19                  4294967295 (const uint)
0:19              Constant:
0:19                1 (const uint)
0:20      Sequence
0:20        move second child to first child ( temp highp 4-component vector of float)
0:20          'v' ( temp highp 4-component vector of float)
0:20          add ( temp highp 4-component vector of float)
0:20            add ( temp highp 4-component vector of float)
0:20              add ( temp highp 4-component vector of float)
0:20                a: direct index for structure ( uniform highp 4-component vector of float)
0:20                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                  Constant:
0:20                    0 (const uint)
0:20                Construct vec4 ( temp highp 4-component vector of float)
0:20                  direct index ( temp highp float)
0:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        2 (const uint)
0:20                    Constant:
0:20                      0 (const int)
0:20                  direct index ( temp highp float)
0:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        2 (const uint)
0:20                    Constant:
0:20                      1 (const int)
0:20                  direct index ( temp highp float)
0:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        1 (const uint)
0:20                    Constant:
0:20                      0 (const int)
0:20                  direct index ( temp highp float)
0:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                      Constant:
0:20                        1 (const uint)
0:20                    Constant:
0:20                      1 (const int)
0:20              c2: direct index for structure ( uniform highp 4-component vector of float)
0:20                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20                Constant:
0:20                  3 (const uint)
0:20            d: direct index for structure ( uniform highp 4-component vector of float)
0:20              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:20              Constant:
0:20                4 (const uint)
0:22      Branch: Return with expression
0:22        vector-scale ( temp highp 4-component vector of float)
0:22          Convert uint to float ( temp highp float)
0:22            'j' ( temp highp uint)
0:22          'v' ( temp highp 4-component vector of float)
0:25  Function Definition: main( ( global void)
0:25    Function Parameters: 
0:27    Sequence
0:27      Sequence
0:27        move second child to first child ( temp highp 4-component vector of float)
0:27          'v' ( temp highp 4-component vector of float)
0:27          Function Call: foo( ( global highp 4-component vector of float)
0:28      move second child to first child ( temp highp 4-component vector of float)
0:28        'v' ( temp highp 4-component vector of float)
0:28        add ( temp highp 4-component vector of float)
0:28          'v' ( temp highp 4-component vector of float)
0:28          indirect index ( temp highp 4-component vector of float)
0:28            s: direct index for structure ( uniform 4-element array of highp 4-component vector of float)
0:28              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:28              Constant:
0:28                5 (const uint)
0:28            subtract ( temp int)
0:28              'gl_VertexIndex' ( in int VertexIndex)
0:28              'gl_VertexIndex' ( in int VertexIndex)
0:29      move second child to first child ( temp highp float)
0:29        direct index ( temp highp float)
0:29          'v' ( temp highp 4-component vector of float)
0:29          Constant:
0:29            0 (const int)
0:29        subtract ( temp highp float)
0:29          direct index ( temp highp float)
0:29            'v' ( temp highp 4-component vector of float)
0:29            Constant:
0:29              0 (const int)
0:29          Convert int to float ( temp highp float)
0:29            subtract ( temp highp int)
0:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
0:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
0:30      move second child to first child ( temp highp 4-component vector of float)
0:30        'io' (layout( location=0) smooth out highp 4-component vector of float)
0:30        'v' ( temp highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth 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 b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
0:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
0:?     'gl_VertexIndex' ( in int VertexIndex)
0:?     'gl_InstanceIndex' ( in int InstanceIndex)
Shader version: 460
gl_FragCoord origin is upper left
0:? Sequence
0:19  Function Definition: foo( ( global highp 4-component vector of float)
0:19    Function Parameters: 
0:20    Sequence
0:20      Sequence
0:20        move second child to first child ( temp highp uint)
0:20          'j' ( temp highp uint)
0:20          add ( temp highp uint)
0:20            AtomicAdd ( global highp uint)
0:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
0:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:20                Constant:
0:20                  0 (const uint)
0:20              Constant:
0:20                1 (const uint)
0:20            subtract ( temp highp uint)
0:20              AtomicAdd ( global highp uint)
0:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
0:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
0:20                  Constant:
0:20                    1 (const uint)
0:20                Constant:
0:20                  4294967295 (const uint)
0:20              Constant:
0:20                1 (const uint)
0:21      Sequence
0:21        move second child to first child ( temp highp 4-component vector of float)
0:21          'v' ( temp highp 4-component vector of float)
0:21          add ( temp highp 4-component vector of float)
0:21            add ( temp highp 4-component vector of float)
0:21              add ( temp highp 4-component vector of float)
0:21                a: direct index for structure ( uniform highp 4-component vector of float)
0:21                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                  Constant:
0:21                    0 (const uint)
0:21                Construct vec4 ( temp highp 4-component vector of float)
0:21                  direct index ( temp highp float)
0:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        1 (const uint)
0:21                    Constant:
0:21                      0 (const int)
0:21                  direct index ( temp highp float)
0:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        1 (const uint)
0:21                    Constant:
0:21                      1 (const int)
0:21                  direct index ( temp highp float)
0:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        2 (const uint)
0:21                    Constant:
0:21                      0 (const int)
0:21                  direct index ( temp highp float)
0:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
0:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                      Constant:
0:21                        2 (const uint)
0:21                    Constant:
0:21                      1 (const int)
0:21              c1: direct index for structure ( uniform highp 4-component vector of float)
0:21                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21                Constant:
0:21                  3 (const uint)
0:21            d: direct index for structure ( uniform highp 4-component vector of float)
0:21              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:21              Constant:
0:21                4 (const uint)
0:23      Branch: Return with expression
0:23        vector-scale ( temp highp 4-component vector of float)
0:23          Convert uint to float ( temp highp float)
0:23            'j' ( temp highp uint)
0:23          'v' ( temp highp 4-component vector of float)
0:26  Function Definition: main( ( global void)
0:26    Function Parameters: 
0:27    Sequence
0:27      move second child to first child ( temp highp 4-component vector of float)
0:27        'o' ( out highp 4-component vector of float)
0:27        add ( temp highp 4-component vector of float)
0:27          'io' (layout( location=0) smooth in highp 4-component vector of float)
0:27          Function Call: foo( ( global highp 4-component vector of float)
0:?   Linker Objects
0:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
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 b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
0:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})

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

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 72 82 90
                              Source GLSL 460
                              Name 4  "main"
                              Name 9  "foo("
                              Name 13  "j"
                              Name 14  "gl_AtomicCounterBlock_0"
                              MemberName 14(gl_AtomicCounterBlock_0) 0  "counter3"
                              MemberName 14(gl_AtomicCounterBlock_0) 1  "counter2"
                              MemberName 14(gl_AtomicCounterBlock_0) 2  "counter1"
                              Name 16  ""
                              Name 31  "v"
                              Name 35  "gl_DefaultUniformBlock"
                              MemberName 35(gl_DefaultUniformBlock) 0  "a"
                              MemberName 35(gl_DefaultUniformBlock) 1  "b2"
                              MemberName 35(gl_DefaultUniformBlock) 2  "b1"
                              MemberName 35(gl_DefaultUniformBlock) 3  "c2"
                              MemberName 35(gl_DefaultUniformBlock) 4  "d"
                              MemberName 35(gl_DefaultUniformBlock) 5  "s"
                              MemberName 35(gl_DefaultUniformBlock) 6  "c1"
                              Name 37  ""
                              Name 67  "v"
                              Name 72  "gl_VertexIndex"
                              Name 82  "gl_InstanceIndex"
                              Name 90  "io"
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Offset 4
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8
                              Decorate 14(gl_AtomicCounterBlock_0) BufferBlock
                              Decorate 16 DescriptorSet 0
                              Decorate 16 Binding 1
                              Decorate 34 ArrayStride 16
                              MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16
                              MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24
                              MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32
                              MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48
                              MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64
                              MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128
                              Decorate 35(gl_DefaultUniformBlock) Block
                              Decorate 37 DescriptorSet 0
                              Decorate 37 Binding 0
                              Decorate 72(gl_VertexIndex) BuiltIn VertexIndex
                              Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex
                              Decorate 90(io) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypeInt 32 0
              12:             TypePointer Function 11(int)
14(gl_AtomicCounterBlock_0):             TypeStruct 11(int) 11(int) 11(int)
              15:             TypePointer Uniform 14(gl_AtomicCounterBlock_0)
              16:     15(ptr) Variable Uniform
              17:             TypeInt 32 1
              18:     17(int) Constant 1
              19:             TypePointer Uniform 11(int)
              21:     11(int) Constant 1
              22:     11(int) Constant 0
              24:     17(int) Constant 0
              26:     11(int) Constant 4294967295
              30:             TypePointer Function 7(fvec4)
              32:             TypeVector 6(float) 2
              33:     11(int) Constant 4
              34:             TypeArray 7(fvec4) 33
35(gl_DefaultUniformBlock):             TypeStruct 7(fvec4) 32(fvec2) 32(fvec2) 7(fvec4) 7(fvec4) 34 7(fvec4)
              36:             TypePointer Uniform 35(gl_DefaultUniformBlock)
              37:     36(ptr) Variable Uniform
              38:             TypePointer Uniform 7(fvec4)
              41:     17(int) Constant 2
              42:             TypePointer Uniform 6(float)
              53:     17(int) Constant 3
              57:     17(int) Constant 4
              70:     17(int) Constant 5
              71:             TypePointer Input 17(int)
72(gl_VertexIndex):     71(ptr) Variable Input
              79:             TypePointer Function 6(float)
82(gl_InstanceIndex):     71(ptr) Variable Input
              89:             TypePointer Output 7(fvec4)
          90(io):     89(ptr) Variable Output
         4(main):           2 Function None 3
               5:             Label
           67(v):     30(ptr) Variable Function
              68:    7(fvec4) FunctionCall 9(foo()
                              Store 67(v) 68
              69:    7(fvec4) Load 67(v)
              73:     17(int) Load 72(gl_VertexIndex)
              74:     17(int) Load 72(gl_VertexIndex)
              75:     17(int) ISub 73 74
              76:     38(ptr) AccessChain 37 70 75
              77:    7(fvec4) Load 76
              78:    7(fvec4) FAdd 69 77
                              Store 67(v) 78
              80:     79(ptr) AccessChain 67(v) 22
              81:    6(float) Load 80
              83:     17(int) Load 82(gl_InstanceIndex)
              84:     17(int) Load 82(gl_InstanceIndex)
              85:     17(int) ISub 83 84
              86:    6(float) ConvertSToF 85
              87:    6(float) FSub 81 86
              88:     79(ptr) AccessChain 67(v) 22
                              Store 88 87
              91:    7(fvec4) Load 67(v)
                              Store 90(io) 91
                              Return
                              FunctionEnd
         9(foo():    7(fvec4) Function None 8
              10:             Label
           13(j):     12(ptr) Variable Function
           31(v):     30(ptr) Variable Function
              20:     19(ptr) AccessChain 16 18
              23:     11(int) AtomicIAdd 20 21 22 21
              25:     19(ptr) AccessChain 16 24
              27:     11(int) AtomicIAdd 25 21 22 26
              28:     11(int) ISub 27 21
              29:     11(int) IAdd 23 28
                              Store 13(j) 29
              39:     38(ptr) AccessChain 37 24
              40:    7(fvec4) Load 39
              43:     42(ptr) AccessChain 37 41 22
              44:    6(float) Load 43
              45:     42(ptr) AccessChain 37 41 21
              46:    6(float) Load 45
              47:     42(ptr) AccessChain 37 18 22
              48:    6(float) Load 47
              49:     42(ptr) AccessChain 37 18 21
              50:    6(float) Load 49
              51:    7(fvec4) CompositeConstruct 44 46 48 50
              52:    7(fvec4) FAdd 40 51
              54:     38(ptr) AccessChain 37 53
              55:    7(fvec4) Load 54
              56:    7(fvec4) FAdd 52 55
              58:     38(ptr) AccessChain 37 57
              59:    7(fvec4) Load 58
              60:    7(fvec4) FAdd 56 59
                              Store 31(v) 60
              61:     11(int) Load 13(j)
              62:    6(float) ConvertUToF 61
              63:    7(fvec4) Load 31(v)
              64:    7(fvec4) VectorTimesScalar 63 62
                              ReturnValue 64
                              FunctionEnd
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 74

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 68 70
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 460
                              Name 4  "main"
                              Name 9  "foo("
                              Name 13  "j"
                              Name 14  "gl_AtomicCounterBlock_0"
                              MemberName 14(gl_AtomicCounterBlock_0) 0  "counter3"
                              MemberName 14(gl_AtomicCounterBlock_0) 1  "counter2"
                              MemberName 14(gl_AtomicCounterBlock_0) 2  "counter1"
                              Name 16  ""
                              Name 31  "v"
                              Name 35  "gl_DefaultUniformBlock"
                              MemberName 35(gl_DefaultUniformBlock) 0  "a"
                              MemberName 35(gl_DefaultUniformBlock) 1  "b2"
                              MemberName 35(gl_DefaultUniformBlock) 2  "b1"
                              MemberName 35(gl_DefaultUniformBlock) 3  "c2"
                              MemberName 35(gl_DefaultUniformBlock) 4  "d"
                              MemberName 35(gl_DefaultUniformBlock) 5  "s"
                              MemberName 35(gl_DefaultUniformBlock) 6  "c1"
                              Name 37  ""
                              Name 68  "o"
                              Name 70  "io"
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Offset 4
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8
                              Decorate 14(gl_AtomicCounterBlock_0) BufferBlock
                              Decorate 16 DescriptorSet 0
                              Decorate 16 Binding 1
                              Decorate 34 ArrayStride 16
                              MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0
                              MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16
                              MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24
                              MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32
                              MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48
                              MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64
                              MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128
                              Decorate 35(gl_DefaultUniformBlock) Block
                              Decorate 37 DescriptorSet 0
                              Decorate 37 Binding 0
                              Decorate 68(o) Location 0
                              Decorate 70(io) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypeVector 6(float) 4
               8:             TypeFunction 7(fvec4)
              11:             TypeInt 32 0
              12:             TypePointer Function 11(int)
14(gl_AtomicCounterBlock_0):             TypeStruct 11(int) 11(int) 11(int)
              15:             TypePointer Uniform 14(gl_AtomicCounterBlock_0)
              16:     15(ptr) Variable Uniform
              17:             TypeInt 32 1
              18:     17(int) Constant 2
              19:             TypePointer Uniform 11(int)
              21:     11(int) Constant 1
              22:     11(int) Constant 0
              24:     17(int) Constant 1
              26:     11(int) Constant 4294967295
              30:             TypePointer Function 7(fvec4)
              32:             TypeVector 6(float) 2
              33:     11(int) Constant 4
              34:             TypeArray 7(fvec4) 33
35(gl_DefaultUniformBlock):             TypeStruct 7(fvec4) 32(fvec2) 32(fvec2) 7(fvec4) 7(fvec4) 34 7(fvec4)
              36:             TypePointer Uniform 35(gl_DefaultUniformBlock)
              37:     36(ptr) Variable Uniform
              38:     17(int) Constant 0
              39:             TypePointer Uniform 7(fvec4)
              42:             TypePointer Uniform 6(float)
              53:     17(int) Constant 6
              57:     17(int) Constant 4
              67:             TypePointer Output 7(fvec4)
           68(o):     67(ptr) Variable Output
              69:             TypePointer Input 7(fvec4)
          70(io):     69(ptr) Variable Input
         4(main):           2 Function None 3
               5:             Label
              71:    7(fvec4) Load 70(io)
              72:    7(fvec4) FunctionCall 9(foo()
              73:    7(fvec4) FAdd 71 72
                              Store 68(o) 73
                              Return
                              FunctionEnd
         9(foo():    7(fvec4) Function None 8
              10:             Label
           13(j):     12(ptr) Variable Function
           31(v):     30(ptr) Variable Function
              20:     19(ptr) AccessChain 16 18
              23:     11(int) AtomicIAdd 20 21 22 21
              25:     19(ptr) AccessChain 16 24
              27:     11(int) AtomicIAdd 25 21 22 26
              28:     11(int) ISub 27 21
              29:     11(int) IAdd 23 28
                              Store 13(j) 29
              40:     39(ptr) AccessChain 37 38
              41:    7(fvec4) Load 40
              43:     42(ptr) AccessChain 37 18 22
              44:    6(float) Load 43
              45:     42(ptr) AccessChain 37 18 21
              46:    6(float) Load 45
              47:     42(ptr) AccessChain 37 24 22
              48:    6(float) Load 47
              49:     42(ptr) AccessChain 37 24 21
              50:    6(float) Load 49
              51:    7(fvec4) CompositeConstruct 44 46 48 50
              52:    7(fvec4) FAdd 41 51
              54:     39(ptr) AccessChain 37 53
              55:    7(fvec4) Load 54
              56:    7(fvec4) FAdd 52 55
              58:     39(ptr) AccessChain 37 57
              59:    7(fvec4) Load 58
              60:    7(fvec4) FAdd 56 59
                              Store 31(v) 60
              61:     11(int) Load 13(j)
              62:    6(float) ConvertUToF 61
              63:    7(fvec4) Load 31(v)
              64:    7(fvec4) VectorTimesScalar 63 62
                              ReturnValue 64
                              FunctionEnd
