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