aboutsummaryrefslogtreecommitdiff
path: root/Test/baseResults/link.vk.multiBlocksValid.1.0.geom.out
blob: c0b33b705c04363763f7440d96ac407be1cbd54d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
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