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            'gl_VertexID' ( 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            'gl_InstanceID' ( 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_VertexID' ( in int VertexIndex)
0:?     'gl_InstanceID' ( 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            'gl_VertexID' ( 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            'gl_InstanceID' ( 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_VertexID' ( in int VertexIndex)
0:?     'gl_InstanceID' ( 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): 8000a
// Id's are bound by 88

                              Capability Shader
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Vertex 4  "main" 72 80 86
                              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_VertexID"
                              Name 80  "gl_InstanceID"
                              Name 86  "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_VertexID) BuiltIn VertexIndex
                              Decorate 80(gl_InstanceID) BuiltIn InstanceIndex
                              Decorate 86(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_VertexID):     71(ptr) Variable Input
              77:             TypePointer Function 6(float)
80(gl_InstanceID):     71(ptr) Variable Input
              85:             TypePointer Output 7(fvec4)
          86(io):     85(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_VertexID)
              74:     38(ptr) AccessChain 37 70 73
              75:    7(fvec4) Load 74
              76:    7(fvec4) FAdd 69 75
                              Store 67(v) 76
              78:     77(ptr) AccessChain 67(v) 22
              79:    6(float) Load 78
              81:     17(int) Load 80(gl_InstanceID)
              82:    6(float) ConvertSToF 81
              83:    6(float) FSub 79 82
              84:     77(ptr) AccessChain 67(v) 22
                              Store 84 83
              87:    7(fvec4) Load 67(v)
                              Store 86(io) 87
                              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): 8000a
// 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
