link.vk.multiBlocksValid.1.0.geom Shader version: 430 invocations = -1 max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence 0:48 Function Definition: main( ( global void) 0:48 Function Parameters: 0:50 Sequence 0:50 move second child to first child ( temp highp 4-component vector of float) 0:50 'oColor' (layout( stream=0) out highp 4-component vector of float) 0:50 component-wise multiply ( temp highp 4-component vector of float) 0:50 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float) 0:50 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:50 Constant: 0:50 0 (const int) 0:50 Function Call: getColor2( ( global highp 4-component vector of float) 0:52 move second child to first child ( temp highp float) 0:52 'globalF' ( global highp float) 0:52 Constant: 0:52 1.000000 0:54 Sequence 0:54 Sequence 0:54 move second child to first child ( temp highp int) 0:54 'i' ( temp highp int) 0:54 Constant: 0:54 0 (const int) 0:54 Loop with condition tested first 0:54 Loop Condition 0:54 Compare Less Than ( temp bool) 0:54 'i' ( temp highp int) 0:54 Constant: 0:54 3 (const int) 0:54 Loop Body 0:56 Sequence 0:56 move second child to first child ( temp highp 4-component vector of float) 0:56 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position) 0:56 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance}) 0:56 Constant: 0:56 0 (const uint) 0:56 matrix-times-vector ( temp highp 4-component vector of float) 0:56 uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float) 0:56 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:56 Constant: 0:56 0 (const int) 0:56 Function Call: getWorld(i1; ( global highp 4-component vector of float) 0:56 'i' ( temp highp int) 0:57 move second child to first child ( temp highp 4-component vector of float) 0:57 val1: direct index for structure (layout( stream=0) out highp 4-component vector of float) 0:57 'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:57 Constant: 0:57 0 (const int) 0:57 add ( temp highp 4-component vector of float) 0:57 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float) 0:57 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:57 Constant: 0:57 0 (const int) 0:57 vector-scale ( temp highp 4-component vector of float) 0:57 v2: direct index for structure ( in highp 4-component vector of float) 0:57 indirect index ( temp block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:57 'iV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:57 'i' ( temp highp int) 0:57 Constant: 0:57 1 (const int) 0:57 'globalF' ( global highp float) 0:58 EmitVertex ( global void) 0:54 Loop Terminal Expression 0:54 Post-Increment ( temp highp int) 0:54 'i' ( temp highp int) 0:61 EndPrimitive ( global void) 0:? Linker Objects 0:? 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:? 'iV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:? 'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:? 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:? 'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p}) 0:? 'oColor' (layout( stream=0) out highp 4-component vector of float) 0:? 'globalF' ( global highp float) 0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out unsized 1-element array of float ClipDistance gl_ClipDistance}) link.vk.multiBlocksValid.1.1.geom Shader version: 430 invocations = -1 max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence 0:44 Function Definition: getColor2( ( global highp 4-component vector of float) 0:44 Function Parameters: 0:46 Sequence 0:46 Branch: Return with expression 0:46 color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float) 0:46 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:46 Constant: 0:46 2 (const int) 0:49 Function Definition: getWorld(i1; ( global highp 4-component vector of float) 0:49 Function Parameters: 0:49 'i' ( in highp int) 0:51 Sequence 0:51 move second child to first child ( temp highp 4-component vector of float) 0:51 val1: direct index for structure (layout( stream=0) out highp 4-component vector of float) 0:51 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 1.000000 0:51 1.000000 0:51 1.000000 0:51 1.000000 0:52 Branch: Return with expression 0:52 matrix-times-vector ( temp highp 4-component vector of float) 0:52 uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float) 0:52 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:52 Constant: 0:52 1 (const int) 0:52 v1: direct index for structure ( in highp 4-component vector of float) 0:52 indirect index ( temp block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:52 'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:52 'i' ( in highp int) 0:52 Constant: 0:52 0 (const int) 0:? Linker Objects 0:? 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:? 'uBuffer' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p}) 0:? 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:? 'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:? 'P' ( in 3-element array of highp 4-component vector of float) Linked geometry stage: WARNING: Linking geometry stage: Matched shader interfaces are using different instance names. uC: "layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}" versus uColor: "layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}" WARNING: Linking geometry stage: Matched shader interfaces are using different instance names. uBuf: "layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p}" versus uBuffer: "layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p}" WARNING: Linking geometry stage: Matched shader interfaces are using different instance names. uM: "layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}" versus uMatrix: "layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}" WARNING: Linking geometry stage: Matched shader interfaces are using different instance names. oV: "layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}" versus anon@0: "layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}" WARNING: Linking geometry stage: Matched shader interfaces are using different instance names. iV: " in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}" versus iVV: " in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}" Shader version: 430 invocations = 1 max_vertices = 3 input primitive = triangles output primitive = triangle_strip 0:? Sequence 0:48 Function Definition: main( ( global void) 0:48 Function Parameters: 0:50 Sequence 0:50 move second child to first child ( temp highp 4-component vector of float) 0:50 'oColor' (layout( stream=0) out highp 4-component vector of float) 0:50 component-wise multiply ( temp highp 4-component vector of float) 0:50 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float) 0:50 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:50 Constant: 0:50 0 (const int) 0:50 Function Call: getColor2( ( global highp 4-component vector of float) 0:52 move second child to first child ( temp highp float) 0:52 'globalF' ( global highp float) 0:52 Constant: 0:52 1.000000 0:54 Sequence 0:54 Sequence 0:54 move second child to first child ( temp highp int) 0:54 'i' ( temp highp int) 0:54 Constant: 0:54 0 (const int) 0:54 Loop with condition tested first 0:54 Loop Condition 0:54 Compare Less Than ( temp bool) 0:54 'i' ( temp highp int) 0:54 Constant: 0:54 3 (const int) 0:54 Loop Body 0:56 Sequence 0:56 move second child to first child ( temp highp 4-component vector of float) 0:56 gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position) 0:56 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance}) 0:56 Constant: 0:56 0 (const uint) 0:56 matrix-times-vector ( temp highp 4-component vector of float) 0:56 uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float) 0:56 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:56 Constant: 0:56 0 (const int) 0:56 Function Call: getWorld(i1; ( global highp 4-component vector of float) 0:56 'i' ( temp highp int) 0:57 move second child to first child ( temp highp 4-component vector of float) 0:57 val1: direct index for structure (layout( stream=0) out highp 4-component vector of float) 0:57 'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:57 Constant: 0:57 0 (const int) 0:57 add ( temp highp 4-component vector of float) 0:57 color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float) 0:57 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:57 Constant: 0:57 0 (const int) 0:57 vector-scale ( temp highp 4-component vector of float) 0:57 v2: direct index for structure ( in highp 4-component vector of float) 0:57 indirect index ( temp block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:57 'iV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:57 'i' ( temp highp int) 0:57 Constant: 0:57 1 (const int) 0:57 'globalF' ( global highp float) 0:58 EmitVertex ( global void) 0:54 Loop Terminal Expression 0:54 Post-Increment ( temp highp int) 0:54 'i' ( temp highp int) 0:61 EndPrimitive ( global void) 0:44 Function Definition: getColor2( ( global highp 4-component vector of float) 0:44 Function Parameters: 0:46 Sequence 0:46 Branch: Return with expression 0:46 color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float) 0:46 'uColor' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:46 Constant: 0:46 2 (const int) 0:49 Function Definition: getWorld(i1; ( global highp 4-component vector of float) 0:49 Function Parameters: 0:49 'i' ( in highp int) 0:51 Sequence 0:51 move second child to first child ( temp highp 4-component vector of float) 0:51 val1: direct index for structure (layout( stream=0) out highp 4-component vector of float) 0:51 'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:51 Constant: 0:51 0 (const uint) 0:51 Constant: 0:51 1.000000 0:51 1.000000 0:51 1.000000 0:51 1.000000 0:52 Branch: Return with expression 0:52 matrix-times-vector ( temp highp 4-component vector of float) 0:52 uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float) 0:52 'uMatrix' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:52 Constant: 0:52 1 (const int) 0:52 v1: direct index for structure ( in highp 4-component vector of float) 0:52 indirect index ( temp block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:52 'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:52 'i' ( in highp int) 0:52 Constant: 0:52 0 (const int) 0:? Linker Objects 0:? 'uM' (layout( binding=0 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4X4 matrix of float uProj, layout( column_major std140 offset=64) uniform highp 4X4 matrix of float uWorld}) 0:? 'iV' ( in 3-element array of block{ in highp 4-component vector of float v1, in highp 4-component vector of float v2}) 0:? 'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1}) 0:? 'uC' (layout( binding=1 column_major std140) uniform block{layout( column_major std140 offset=0) uniform highp 4-component vector of float color1, layout( column_major std140 offset=16) uniform bool b, layout( column_major std140 offset=32) uniform highp 4-component vector of float color2, layout( column_major std140 offset=48) uniform highp 4-component vector of float color3}) 0:? 'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p}) 0:? 'oColor' (layout( stream=0) out highp 4-component vector of float) 0:? 'globalF' ( global highp float) 0:? 'anon@0' (layout( stream=0) out block{layout( stream=0) gl_Position 4-component vector of float Position gl_Position, layout( stream=0) gl_PointSize float PointSize gl_PointSize, layout( stream=0) out 1-element array of float ClipDistance gl_ClipDistance}) 0:? 'P' ( in 3-element array of highp 4-component vector of float) // Module Version 10000 // Generated by (magic number): 8000a // Id's are bound by 101 Capability Geometry 1: ExtInstImport "GLSL.std.450" MemoryModel Logical GLSL450 EntryPoint Geometry 4 "main" 18 46 61 68 100 ExecutionMode 4 Triangles ExecutionMode 4 Invocations 1 ExecutionMode 4 OutputTriangleStrip ExecutionMode 4 OutputVertices 3 Source GLSL 430 Name 4 "main" Name 9 "getColor2(" Name 15 "getWorld(i1;" Name 14 "i" Name 18 "oColor" Name 20 "ColorBlock" MemberName 20(ColorBlock) 0 "color1" MemberName 20(ColorBlock) 1 "b" MemberName 20(ColorBlock) 2 "color2" MemberName 20(ColorBlock) 3 "color3" Name 22 "uC" Name 30 "globalF" Name 32 "i" Name 44 "gl_PerVertex" MemberName 44(gl_PerVertex) 0 "gl_Position" MemberName 44(gl_PerVertex) 1 "gl_PointSize" MemberName 44(gl_PerVertex) 2 "gl_ClipDistance" Name 46 "" Name 48 "MatrixBlock" MemberName 48(MatrixBlock) 0 "uProj" MemberName 48(MatrixBlock) 1 "uWorld" Name 50 "uM" Name 54 "param" Name 59 "Vertex" MemberName 59(Vertex) 0 "val1" Name 61 "oV" Name 64 "Vertex" MemberName 64(Vertex) 0 "v1" MemberName 64(Vertex) 1 "v2" Name 68 "iV" Name 95 "BufferBlock" MemberName 95(BufferBlock) 0 "p" Name 97 "uBuf" Name 100 "P" Decorate 18(oColor) Location 1 MemberDecorate 20(ColorBlock) 0 Offset 0 MemberDecorate 20(ColorBlock) 1 Offset 16 MemberDecorate 20(ColorBlock) 2 Offset 32 MemberDecorate 20(ColorBlock) 3 Offset 48 Decorate 20(ColorBlock) Block Decorate 22(uC) DescriptorSet 0 Decorate 22(uC) Binding 1 MemberDecorate 44(gl_PerVertex) 0 BuiltIn Position MemberDecorate 44(gl_PerVertex) 1 BuiltIn PointSize MemberDecorate 44(gl_PerVertex) 2 BuiltIn ClipDistance Decorate 44(gl_PerVertex) Block MemberDecorate 48(MatrixBlock) 0 ColMajor MemberDecorate 48(MatrixBlock) 0 Offset 0 MemberDecorate 48(MatrixBlock) 0 MatrixStride 16 MemberDecorate 48(MatrixBlock) 1 ColMajor MemberDecorate 48(MatrixBlock) 1 Offset 64 MemberDecorate 48(MatrixBlock) 1 MatrixStride 16 Decorate 48(MatrixBlock) Block Decorate 50(uM) DescriptorSet 0 Decorate 50(uM) Binding 0 Decorate 59(Vertex) Block Decorate 61(oV) Location 0 Decorate 64(Vertex) Block Decorate 68(iV) Location 1 MemberDecorate 95(BufferBlock) 0 ColMajor MemberDecorate 95(BufferBlock) 0 Offset 0 MemberDecorate 95(BufferBlock) 0 MatrixStride 16 Decorate 95(BufferBlock) BufferBlock Decorate 97(uBuf) DescriptorSet 0 Decorate 97(uBuf) Binding 1 Decorate 100(P) Location 0 2: TypeVoid 3: TypeFunction 2 6: TypeFloat 32 7: TypeVector 6(float) 4 8: TypeFunction 7(fvec4) 11: TypeInt 32 1 12: TypePointer Function 11(int) 13: TypeFunction 7(fvec4) 12(ptr) 17: TypePointer Output 7(fvec4) 18(oColor): 17(ptr) Variable Output 19: TypeInt 32 0 20(ColorBlock): TypeStruct 7(fvec4) 19(int) 7(fvec4) 7(fvec4) 21: TypePointer Uniform 20(ColorBlock) 22(uC): 21(ptr) Variable Uniform 23: 11(int) Constant 0 24: TypePointer Uniform 7(fvec4) 29: TypePointer Private 6(float) 30(globalF): 29(ptr) Variable Private 31: 6(float) Constant 1065353216 39: 11(int) Constant 3 40: TypeBool 42: 19(int) Constant 1 43: TypeArray 6(float) 42 44(gl_PerVertex): TypeStruct 7(fvec4) 6(float) 43 45: TypePointer Output 44(gl_PerVertex) 46: 45(ptr) Variable Output 47: TypeMatrix 7(fvec4) 4 48(MatrixBlock): TypeStruct 47 47 49: TypePointer Uniform 48(MatrixBlock) 50(uM): 49(ptr) Variable Uniform 51: TypePointer Uniform 47 59(Vertex): TypeStruct 7(fvec4) 60: TypePointer Output 59(Vertex) 61(oV): 60(ptr) Variable Output 64(Vertex): TypeStruct 7(fvec4) 7(fvec4) 65: 19(int) Constant 3 66: TypeArray 64(Vertex) 65 67: TypePointer Input 66 68(iV): 67(ptr) Variable Input 70: 11(int) Constant 1 71: TypePointer Input 7(fvec4) 80: 11(int) Constant 2 85: 7(fvec4) ConstantComposite 31 31 31 31 95(BufferBlock): TypeStruct 47 96: TypePointer Uniform 95(BufferBlock) 97(uBuf): 96(ptr) Variable Uniform 98: TypeArray 7(fvec4) 65 99: TypePointer Input 98 100(P): 99(ptr) Variable Input 4(main): 2 Function None 3 5: Label 32(i): 12(ptr) Variable Function 54(param): 12(ptr) Variable Function 25: 24(ptr) AccessChain 22(uC) 23 26: 7(fvec4) Load 25 27: 7(fvec4) FunctionCall 9(getColor2() 28: 7(fvec4) FMul 26 27 Store 18(oColor) 28 Store 30(globalF) 31 Store 32(i) 23 Branch 33 33: Label LoopMerge 35 36 None Branch 37 37: Label 38: 11(int) Load 32(i) 41: 40(bool) SLessThan 38 39 BranchConditional 41 34 35 34: Label 52: 51(ptr) AccessChain 50(uM) 23 53: 47 Load 52 55: 11(int) Load 32(i) Store 54(param) 55 56: 7(fvec4) FunctionCall 15(getWorld(i1;) 54(param) 57: 7(fvec4) MatrixTimesVector 53 56 58: 17(ptr) AccessChain 46 23 Store 58 57 62: 24(ptr) AccessChain 22(uC) 23 63: 7(fvec4) Load 62 69: 11(int) Load 32(i) 72: 71(ptr) AccessChain 68(iV) 69 70 73: 7(fvec4) Load 72 74: 6(float) Load 30(globalF) 75: 7(fvec4) VectorTimesScalar 73 74 76: 7(fvec4) FAdd 63 75 77: 17(ptr) AccessChain 61(oV) 23 Store 77 76 EmitVertex Branch 36 36: Label 78: 11(int) Load 32(i) 79: 11(int) IAdd 78 70 Store 32(i) 79 Branch 33 35: Label EndPrimitive Return FunctionEnd 9(getColor2(): 7(fvec4) Function None 8 10: Label 81: 24(ptr) AccessChain 22(uC) 80 82: 7(fvec4) Load 81 ReturnValue 82 FunctionEnd 15(getWorld(i1;): 7(fvec4) Function None 13 14(i): 12(ptr) FunctionParameter 16: Label 86: 17(ptr) AccessChain 61(oV) 23 Store 86 85 87: 51(ptr) AccessChain 50(uM) 70 88: 47 Load 87 89: 11(int) Load 14(i) 90: 71(ptr) AccessChain 68(iV) 89 23 91: 7(fvec4) Load 90 92: 7(fvec4) MatrixTimesVector 88 91 ReturnValue 92 FunctionEnd