1link.vk.multiBlocksValid.1.0.geom
2Shader version: 430
3invocations = -1
4max_vertices = 3
5input primitive = triangles
6output primitive = triangle_strip
70:? Sequence
80:48  Function Definition: main( ( global void)
90:48    Function Parameters:
100:50    Sequence
110:50      move second child to first child ( temp highp 4-component vector of float)
120:50        'oColor' (layout( stream=0) out highp 4-component vector of float)
130:50        component-wise multiply ( temp highp 4-component vector of float)
140:50          color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
150: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})
160:50            Constant:
170:50              0 (const int)
180:50          Function Call: getColor2( ( global highp 4-component vector of float)
190:52      move second child to first child ( temp highp float)
200:52        'globalF' ( global highp float)
210:52        Constant:
220:52          1.000000
230:54      Sequence
240:54        Sequence
250:54          move second child to first child ( temp highp int)
260:54            'i' ( temp highp int)
270:54            Constant:
280:54              0 (const int)
290:54        Loop with condition tested first
300:54          Loop Condition
310:54          Compare Less Than ( temp bool)
320:54            'i' ( temp highp int)
330:54            Constant:
340:54              3 (const int)
350:54          Loop Body
360:56          Sequence
370:56            move second child to first child ( temp highp 4-component vector of float)
380:56              gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position)
390: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})
400:56                Constant:
410:56                  0 (const uint)
420:56              matrix-times-vector ( temp highp 4-component vector of float)
430:56                uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float)
440: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})
450:56                  Constant:
460:56                    0 (const int)
470:56                Function Call: getWorld(i1; ( global highp 4-component vector of float)
480:56                  'i' ( temp highp int)
490:57            move second child to first child ( temp highp 4-component vector of float)
500:57              val1: direct index for structure (layout( stream=0) out highp 4-component vector of float)
510:57                'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
520:57                Constant:
530:57                  0 (const int)
540:57              add ( temp highp 4-component vector of float)
550:57                color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
560: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})
570:57                  Constant:
580:57                    0 (const int)
590:57                vector-scale ( temp highp 4-component vector of float)
600:57                  v2: direct index for structure ( in highp 4-component vector of float)
610:57                    indirect index ( temp block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
620:57                      'iV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
630:57                      'i' ( temp highp int)
640:57                    Constant:
650:57                      1 (const int)
660:57                  'globalF' ( global highp float)
670:58            EmitVertex ( global void)
680:54          Loop Terminal Expression
690:54          Post-Increment ( temp highp int)
700:54            'i' ( temp highp int)
710:61      EndPrimitive ( global void)
720:?   Linker Objects
730:?     '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})
740:?     'iV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
750:?     'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
760:?     '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})
770:?     'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
780:?     'oColor' (layout( stream=0) out highp 4-component vector of float)
790:?     'globalF' ( global highp float)
800:?     '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})
81
82link.vk.multiBlocksValid.1.1.geom
83Shader version: 430
84invocations = -1
85max_vertices = 3
86input primitive = triangles
87output primitive = triangle_strip
880:? Sequence
890:44  Function Definition: getColor2( ( global highp 4-component vector of float)
900:44    Function Parameters:
910:46    Sequence
920:46      Branch: Return with expression
930:46        color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float)
940: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})
950:46          Constant:
960:46            2 (const int)
970:49  Function Definition: getWorld(i1; ( global highp 4-component vector of float)
980:49    Function Parameters:
990:49      'i' ( in highp int)
1000:51    Sequence
1010:51      move second child to first child ( temp highp 4-component vector of float)
1020:51        val1: direct index for structure (layout( stream=0) out highp 4-component vector of float)
1030:51          'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
1040:51          Constant:
1050:51            0 (const uint)
1060:51        Constant:
1070:51          1.000000
1080:51          1.000000
1090:51          1.000000
1100:51          1.000000
1110:52      Branch: Return with expression
1120:52        matrix-times-vector ( temp highp 4-component vector of float)
1130:52          uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
1140: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})
1150:52            Constant:
1160:52              1 (const int)
1170:52          v1: direct index for structure ( in highp 4-component vector of float)
1180:52            indirect index ( temp block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
1190:52              'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
1200:52              'i' ( in highp int)
1210:52            Constant:
1220:52              0 (const int)
1230:?   Linker Objects
1240:?     '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})
1250:?     'uBuffer' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
1260:?     '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})
1270:?     'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
1280:?     'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
1290:?     'P' ( in 3-element array of highp 4-component vector of float)
130
131
132Linked geometry stage:
133
134WARNING: Linking geometry stage: Matched shader interfaces are using different instance names.
135    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}"
136WARNING: Linking geometry stage: Matched shader interfaces are using different instance names.
137    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}"
138WARNING: Linking geometry stage: Matched shader interfaces are using different instance names.
139    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}"
140WARNING: Linking geometry stage: Matched shader interfaces are using different instance names.
141    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}"
142WARNING: Linking geometry stage: Matched shader interfaces are using different instance names.
143    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}"
144
145Shader version: 430
146invocations = 1
147max_vertices = 3
148input primitive = triangles
149output primitive = triangle_strip
1500:? Sequence
1510:48  Function Definition: main( ( global void)
1520:48    Function Parameters:
1530:50    Sequence
1540:50      move second child to first child ( temp highp 4-component vector of float)
1550:50        'oColor' (layout( stream=0) out highp 4-component vector of float)
1560:50        component-wise multiply ( temp highp 4-component vector of float)
1570:50          color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
1580: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})
1590:50            Constant:
1600:50              0 (const int)
1610:50          Function Call: getColor2( ( global highp 4-component vector of float)
1620:52      move second child to first child ( temp highp float)
1630:52        'globalF' ( global highp float)
1640:52        Constant:
1650:52          1.000000
1660:54      Sequence
1670:54        Sequence
1680:54          move second child to first child ( temp highp int)
1690:54            'i' ( temp highp int)
1700:54            Constant:
1710:54              0 (const int)
1720:54        Loop with condition tested first
1730:54          Loop Condition
1740:54          Compare Less Than ( temp bool)
1750:54            'i' ( temp highp int)
1760:54            Constant:
1770:54              3 (const int)
1780:54          Loop Body
1790:56          Sequence
1800:56            move second child to first child ( temp highp 4-component vector of float)
1810:56              gl_Position: direct index for structure (layout( stream=0) gl_Position highp 4-component vector of float Position)
1820: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})
1830:56                Constant:
1840:56                  0 (const uint)
1850:56              matrix-times-vector ( temp highp 4-component vector of float)
1860:56                uProj: direct index for structure (layout( column_major std140 offset=0) uniform highp 4X4 matrix of float)
1870: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})
1880:56                  Constant:
1890:56                    0 (const int)
1900:56                Function Call: getWorld(i1; ( global highp 4-component vector of float)
1910:56                  'i' ( temp highp int)
1920:57            move second child to first child ( temp highp 4-component vector of float)
1930:57              val1: direct index for structure (layout( stream=0) out highp 4-component vector of float)
1940:57                'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
1950:57                Constant:
1960:57                  0 (const int)
1970:57              add ( temp highp 4-component vector of float)
1980:57                color1: direct index for structure (layout( column_major std140 offset=0) uniform highp 4-component vector of float)
1990: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})
2000:57                  Constant:
2010:57                    0 (const int)
2020:57                vector-scale ( temp highp 4-component vector of float)
2030:57                  v2: direct index for structure ( in highp 4-component vector of float)
2040:57                    indirect index ( temp block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
2050:57                      'iV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
2060:57                      'i' ( temp highp int)
2070:57                    Constant:
2080:57                      1 (const int)
2090:57                  'globalF' ( global highp float)
2100:58            EmitVertex ( global void)
2110:54          Loop Terminal Expression
2120:54          Post-Increment ( temp highp int)
2130:54            'i' ( temp highp int)
2140:61      EndPrimitive ( global void)
2150:44  Function Definition: getColor2( ( global highp 4-component vector of float)
2160:44    Function Parameters:
2170:46    Sequence
2180:46      Branch: Return with expression
2190:46        color2: direct index for structure (layout( column_major std140 offset=32) uniform highp 4-component vector of float)
2200: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})
2210:46          Constant:
2220:46            2 (const int)
2230:49  Function Definition: getWorld(i1; ( global highp 4-component vector of float)
2240:49    Function Parameters:
2250:49      'i' ( in highp int)
2260:51    Sequence
2270:51      move second child to first child ( temp highp 4-component vector of float)
2280:51        val1: direct index for structure (layout( stream=0) out highp 4-component vector of float)
2290:51          'anon@0' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
2300:51          Constant:
2310:51            0 (const uint)
2320:51        Constant:
2330:51          1.000000
2340:51          1.000000
2350:51          1.000000
2360:51          1.000000
2370:52      Branch: Return with expression
2380:52        matrix-times-vector ( temp highp 4-component vector of float)
2390:52          uWorld: direct index for structure (layout( column_major std140 offset=64) uniform highp 4X4 matrix of float)
2400: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})
2410:52            Constant:
2420:52              1 (const int)
2430:52          v1: direct index for structure ( in highp 4-component vector of float)
2440:52            indirect index ( temp block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
2450:52              'iVV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
2460:52              'i' ( in highp int)
2470:52            Constant:
2480:52              0 (const int)
2490:?   Linker Objects
2500:?     '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})
2510:?     'iV' ( in 3-element array of block{ in highp 4-component vector of float v1,  in highp 4-component vector of float v2})
2520:?     'oV' (layout( stream=0) out block{layout( stream=0) out highp 4-component vector of float val1})
2530:?     '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})
2540:?     'uBuf' (layout( binding=1 column_major std430) buffer block{layout( column_major std430 offset=0) buffer highp 4X4 matrix of float p})
2550:?     'oColor' (layout( stream=0) out highp 4-component vector of float)
2560:?     'globalF' ( global highp float)
2570:?     '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})
2580:?     'P' ( in 3-element array of highp 4-component vector of float)
259
260// Module Version 10000
261// Generated by (magic number): 8000a
262// Id's are bound by 101
263
264                              Capability Geometry
265               1:             ExtInstImport  "GLSL.std.450"
266                              MemoryModel Logical GLSL450
267                              EntryPoint Geometry 4  "main" 18 46 61 68 100
268                              ExecutionMode 4 Triangles
269                              ExecutionMode 4 Invocations 1
270                              ExecutionMode 4 OutputTriangleStrip
271                              ExecutionMode 4 OutputVertices 3
272                              Source GLSL 430
273                              Name 4  "main"
274                              Name 9  "getColor2("
275                              Name 15  "getWorld(i1;"
276                              Name 14  "i"
277                              Name 18  "oColor"
278                              Name 20  "ColorBlock"
279                              MemberName 20(ColorBlock) 0  "color1"
280                              MemberName 20(ColorBlock) 1  "b"
281                              MemberName 20(ColorBlock) 2  "color2"
282                              MemberName 20(ColorBlock) 3  "color3"
283                              Name 22  "uC"
284                              Name 30  "globalF"
285                              Name 32  "i"
286                              Name 44  "gl_PerVertex"
287                              MemberName 44(gl_PerVertex) 0  "gl_Position"
288                              MemberName 44(gl_PerVertex) 1  "gl_PointSize"
289                              MemberName 44(gl_PerVertex) 2  "gl_ClipDistance"
290                              Name 46  ""
291                              Name 48  "MatrixBlock"
292                              MemberName 48(MatrixBlock) 0  "uProj"
293                              MemberName 48(MatrixBlock) 1  "uWorld"
294                              Name 50  "uM"
295                              Name 54  "param"
296                              Name 59  "Vertex"
297                              MemberName 59(Vertex) 0  "val1"
298                              Name 61  "oV"
299                              Name 64  "Vertex"
300                              MemberName 64(Vertex) 0  "v1"
301                              MemberName 64(Vertex) 1  "v2"
302                              Name 68  "iV"
303                              Name 95  "BufferBlock"
304                              MemberName 95(BufferBlock) 0  "p"
305                              Name 97  "uBuf"
306                              Name 100  "P"
307                              Decorate 18(oColor) Location 1
308                              MemberDecorate 20(ColorBlock) 0 Offset 0
309                              MemberDecorate 20(ColorBlock) 1 Offset 16
310                              MemberDecorate 20(ColorBlock) 2 Offset 32
311                              MemberDecorate 20(ColorBlock) 3 Offset 48
312                              Decorate 20(ColorBlock) Block
313                              Decorate 22(uC) DescriptorSet 0
314                              Decorate 22(uC) Binding 1
315                              MemberDecorate 44(gl_PerVertex) 0 BuiltIn Position
316                              MemberDecorate 44(gl_PerVertex) 1 BuiltIn PointSize
317                              MemberDecorate 44(gl_PerVertex) 2 BuiltIn ClipDistance
318                              Decorate 44(gl_PerVertex) Block
319                              MemberDecorate 48(MatrixBlock) 0 ColMajor
320                              MemberDecorate 48(MatrixBlock) 0 Offset 0
321                              MemberDecorate 48(MatrixBlock) 0 MatrixStride 16
322                              MemberDecorate 48(MatrixBlock) 1 ColMajor
323                              MemberDecorate 48(MatrixBlock) 1 Offset 64
324                              MemberDecorate 48(MatrixBlock) 1 MatrixStride 16
325                              Decorate 48(MatrixBlock) Block
326                              Decorate 50(uM) DescriptorSet 0
327                              Decorate 50(uM) Binding 0
328                              Decorate 59(Vertex) Block
329                              Decorate 61(oV) Location 0
330                              Decorate 64(Vertex) Block
331                              Decorate 68(iV) Location 1
332                              MemberDecorate 95(BufferBlock) 0 ColMajor
333                              MemberDecorate 95(BufferBlock) 0 Offset 0
334                              MemberDecorate 95(BufferBlock) 0 MatrixStride 16
335                              Decorate 95(BufferBlock) BufferBlock
336                              Decorate 97(uBuf) DescriptorSet 0
337                              Decorate 97(uBuf) Binding 1
338                              Decorate 100(P) Location 0
339               2:             TypeVoid
340               3:             TypeFunction 2
341               6:             TypeFloat 32
342               7:             TypeVector 6(float) 4
343               8:             TypeFunction 7(fvec4)
344              11:             TypeInt 32 1
345              12:             TypePointer Function 11(int)
346              13:             TypeFunction 7(fvec4) 12(ptr)
347              17:             TypePointer Output 7(fvec4)
348      18(oColor):     17(ptr) Variable Output
349              19:             TypeInt 32 0
350  20(ColorBlock):             TypeStruct 7(fvec4) 19(int) 7(fvec4) 7(fvec4)
351              21:             TypePointer Uniform 20(ColorBlock)
352          22(uC):     21(ptr) Variable Uniform
353              23:     11(int) Constant 0
354              24:             TypePointer Uniform 7(fvec4)
355              29:             TypePointer Private 6(float)
356     30(globalF):     29(ptr) Variable Private
357              31:    6(float) Constant 1065353216
358              39:     11(int) Constant 3
359              40:             TypeBool
360              42:     19(int) Constant 1
361              43:             TypeArray 6(float) 42
36244(gl_PerVertex):             TypeStruct 7(fvec4) 6(float) 43
363              45:             TypePointer Output 44(gl_PerVertex)
364              46:     45(ptr) Variable Output
365              47:             TypeMatrix 7(fvec4) 4
366 48(MatrixBlock):             TypeStruct 47 47
367              49:             TypePointer Uniform 48(MatrixBlock)
368          50(uM):     49(ptr) Variable Uniform
369              51:             TypePointer Uniform 47
370      59(Vertex):             TypeStruct 7(fvec4)
371              60:             TypePointer Output 59(Vertex)
372          61(oV):     60(ptr) Variable Output
373      64(Vertex):             TypeStruct 7(fvec4) 7(fvec4)
374              65:     19(int) Constant 3
375              66:             TypeArray 64(Vertex) 65
376              67:             TypePointer Input 66
377          68(iV):     67(ptr) Variable Input
378              70:     11(int) Constant 1
379              71:             TypePointer Input 7(fvec4)
380              80:     11(int) Constant 2
381              85:    7(fvec4) ConstantComposite 31 31 31 31
382 95(BufferBlock):             TypeStruct 47
383              96:             TypePointer Uniform 95(BufferBlock)
384        97(uBuf):     96(ptr) Variable Uniform
385              98:             TypeArray 7(fvec4) 65
386              99:             TypePointer Input 98
387          100(P):     99(ptr) Variable Input
388         4(main):           2 Function None 3
389               5:             Label
390           32(i):     12(ptr) Variable Function
391       54(param):     12(ptr) Variable Function
392              25:     24(ptr) AccessChain 22(uC) 23
393              26:    7(fvec4) Load 25
394              27:    7(fvec4) FunctionCall 9(getColor2()
395              28:    7(fvec4) FMul 26 27
396                              Store 18(oColor) 28
397                              Store 30(globalF) 31
398                              Store 32(i) 23
399                              Branch 33
400              33:             Label
401                              LoopMerge 35 36 None
402                              Branch 37
403              37:             Label
404              38:     11(int) Load 32(i)
405              41:    40(bool) SLessThan 38 39
406                              BranchConditional 41 34 35
407              34:               Label
408              52:     51(ptr)   AccessChain 50(uM) 23
409              53:          47   Load 52
410              55:     11(int)   Load 32(i)
411                                Store 54(param) 55
412              56:    7(fvec4)   FunctionCall 15(getWorld(i1;) 54(param)
413              57:    7(fvec4)   MatrixTimesVector 53 56
414              58:     17(ptr)   AccessChain 46 23
415                                Store 58 57
416              62:     24(ptr)   AccessChain 22(uC) 23
417              63:    7(fvec4)   Load 62
418              69:     11(int)   Load 32(i)
419              72:     71(ptr)   AccessChain 68(iV) 69 70
420              73:    7(fvec4)   Load 72
421              74:    6(float)   Load 30(globalF)
422              75:    7(fvec4)   VectorTimesScalar 73 74
423              76:    7(fvec4)   FAdd 63 75
424              77:     17(ptr)   AccessChain 61(oV) 23
425                                Store 77 76
426                                EmitVertex
427                                Branch 36
428              36:               Label
429              78:     11(int)   Load 32(i)
430              79:     11(int)   IAdd 78 70
431                                Store 32(i) 79
432                                Branch 33
433              35:             Label
434                              EndPrimitive
435                              Return
436                              FunctionEnd
437   9(getColor2():    7(fvec4) Function None 8
438              10:             Label
439              81:     24(ptr) AccessChain 22(uC) 80
440              82:    7(fvec4) Load 81
441                              ReturnValue 82
442                              FunctionEnd
44315(getWorld(i1;):    7(fvec4) Function None 13
444           14(i):     12(ptr) FunctionParameter
445              16:             Label
446              86:     17(ptr) AccessChain 61(oV) 23
447                              Store 86 85
448              87:     51(ptr) AccessChain 50(uM) 70
449              88:          47 Load 87
450              89:     11(int) Load 14(i)
451              90:     71(ptr) AccessChain 68(iV) 89 23
452              91:    7(fvec4) Load 90
453              92:    7(fvec4) MatrixTimesVector 88 91
454                              ReturnValue 92
455                              FunctionEnd
456