blob: 63be728b0922e09c9d616931995943d2e7473bfc [file] [log] [blame]
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 2
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 1
Decorate 64(Vertex) Block
Decorate 68(iV) Location 0
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 4
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