1iomap.crossStage.vk.vert
2Shader version: 460
30:? Sequence
40:26  Function Definition: main( ( global void)
50:26    Function Parameters: 
60:28    Sequence
70:28      move second child to first child ( temp highp 4-component vector of float)
80:28        'vgo1' ( smooth out highp 4-component vector of float)
90:28        Constant:
100:28          0.000000
110:28          0.000000
120:28          0.000000
130:28          0.000000
140:29      move second child to first child ( temp highp 2-component vector of float)
150:29        'vgo2' ( smooth out highp 2-component vector of float)
160:29        Constant:
170:29          0.000000
180:29          0.000000
190:30      move second child to first child ( temp highp 4-component vector of float)
200:30        o3: direct index for structure ( out highp 4-component vector of float)
210:30          'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
220:30          Constant:
230:30            0 (const uint)
240:30        Constant:
250:30          0.000000
260:30          0.000000
270:30          0.000000
280:30          0.000000
290:?   Linker Objects
300:?     'vgo1' ( smooth out highp 4-component vector of float)
310:?     'vgo2' ( smooth out highp 2-component vector of float)
320:?     'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
330:?     'glass' (layout( binding=0) uniform highp sampler2D)
340:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
350:?     'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float vb1})
360:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
37
38iomap.crossStage.vk.geom
39Shader version: 460
40invocations = -1
41max_vertices = 3
42input primitive = points
43output primitive = triangle_strip
440:? Sequence
450:25  Function Definition: main( ( global void)
460:25    Function Parameters: 
470:27    Sequence
480:27      Sequence
490:27        Sequence
500:27          move second child to first child ( temp highp int)
510:27            'i' ( temp highp int)
520:27            Constant:
530:27              0 (const int)
540:27        Loop with condition tested first
550:27          Loop Condition
560:27          Compare Less Than ( temp bool)
570:27            'i' ( temp highp int)
580:27            Constant:
590:27              3 (const int)
600:27          Loop Body
610:28          Sequence
620:28            move second child to first child ( temp highp 4-component vector of float)
630:28              'gfo1' (layout( stream=0) out highp 4-component vector of float)
640:28              Constant:
650:28                0.000000
660:28                0.000000
670:28                0.000000
680:28                0.000000
690:29            move second child to first child ( temp highp 2-component vector of float)
700:29              'gfo2' (layout( stream=0) out highp 2-component vector of float)
710:29              Constant:
720:29                0.000000
730:29                0.000000
740:30            move second child to first child ( temp highp 4-component vector of float)
750:30              o3: direct index for structure (layout( stream=0) out highp 4-component vector of float)
760:30                'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
770:30                Constant:
780:30                  0 (const int)
790:30              o3: direct index for structure ( in highp 4-component vector of float)
800:30                indirect index (layout( location=5) temp block{ in highp 4-component vector of float o3})
810:30                  'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
820:30                  'i' ( temp highp int)
830:30                Constant:
840:30                  0 (const int)
850:31            EmitVertex ( global void)
860:27          Loop Terminal Expression
870:27          Post-Increment ( temp highp int)
880:27            'i' ( temp highp int)
890:33      EndPrimitive ( global void)
900:?   Linker Objects
910:?     'vgo1' ( in 1-element array of highp 4-component vector of float)
920:?     'vgo2' ( in 1-element array of highp 2-component vector of float)
930:?     'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
940:?     'gfo1' (layout( stream=0) out highp 4-component vector of float)
950:?     'gfo2' (layout( stream=0) out highp 2-component vector of float)
960:?     'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
970:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
98
99iomap.crossStage.vk.frag
100Shader version: 460
101gl_FragCoord origin is upper left
1020:? Sequence
1030:30  Function Definition: Bar( ( global highp 2-component vector of float)
1040:30    Function Parameters: 
1050:31    Sequence
1060:31      Branch: Return with expression
1070:32        add ( temp highp 2-component vector of float)
1080:31          add ( temp highp 2-component vector of float)
1090:31            fb1: direct index for structure (layout( column_major std430) readonly buffer highp 2-component vector of float)
1100:31              'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
1110:31              Constant:
1120:31                0 (const uint)
1130:32            b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
1140:32              direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1150:32                'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1160:32                Constant:
1170:32                  0 (const int)
1180:32              Constant:
1190:32                1 (const int)
1200:33          b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
1210:33            direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1220:33              'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1230:33              Constant:
1240:33                1 (const int)
1250:33            Constant:
1260:33              1 (const int)
1270:36  Function Definition: Foo( ( global highp 4-component vector of float)
1280:36    Function Parameters: 
1290:37    Sequence
1300:37      Branch: Return with expression
1310:40        add ( temp highp 4-component vector of float)
1320:39          add ( temp highp 4-component vector of float)
1330:38            add ( temp highp 4-component vector of float)
1340:37              add ( temp highp 4-component vector of float)
1350:37                a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
1360:37                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
1370:37                  Constant:
1380:37                    0 (const uint)
1390:38                b: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
1400:38                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
1410:38                  Constant:
1420:38                    1 (const uint)
1430:39              a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
1440:39                direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1450:39                  'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1460:39                  Constant:
1470:39                    0 (const int)
1480:39                Constant:
1490:39                  0 (const int)
1500:40            a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
1510:40              direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1520:40                'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
1530:40                Constant:
1540:40                  1 (const int)
1550:40              Constant:
1560:40                0 (const int)
1570:41          Construct vec4 ( temp highp 4-component vector of float)
1580:41            Function Call: Bar( ( global highp 2-component vector of float)
1590:41            Constant:
1600:41              0.000000
1610:41            Constant:
1620:41              0.000000
1630:44  Function Definition: main( ( global void)
1640:44    Function Parameters: 
1650:46    Sequence
1660:46      Sequence
1670:46        move second child to first child ( temp highp 4-component vector of float)
1680:46          'color' ( temp highp 4-component vector of float)
1690:46          'gfo1' ( smooth in highp 4-component vector of float)
1700:47      move second child to first child ( temp highp 4-component vector of float)
1710:47        'color' ( temp highp 4-component vector of float)
1720:47        add ( temp highp 4-component vector of float)
1730:47          'color' ( temp highp 4-component vector of float)
1740:47          Function Call: Foo( ( global highp 4-component vector of float)
1750:48      move second child to first child ( temp highp 4-component vector of float)
1760:48        'outColor' ( out highp 4-component vector of float)
1770:48        'color' ( temp highp 4-component vector of float)
1780:?   Linker Objects
1790:?     'anon@0' (layout( location=5) in block{ in highp 4-component vector of float o3})
1800:?     'gfo1' ( smooth in highp 4-component vector of float)
1810:?     'gfo2' ( smooth in highp 2-component vector of float)
1820:?     'outColor' ( out highp 4-component vector of float)
1830:?     'glass' (layout( binding=0) uniform highp sampler2D)
1840:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
1850:?     'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
1860:?     'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
187
188
189Linked vertex stage:
190
191
192Linked geometry stage:
193
194
195Linked fragment stage:
196
197WARNING: Linking unknown stage and fragment stages: Matched shader interfaces are using different instance names.
198    unknown stage stage: Block: crossStageBlock2 Instance: blockName1: ""
199    fragment stage: Block: crossStageBlock2 Instance: blockName2: ""
200
201Shader version: 460
2020:? Sequence
2030:26  Function Definition: main( ( global void)
2040:26    Function Parameters: 
2050:28    Sequence
2060:28      move second child to first child ( temp highp 4-component vector of float)
2070:28        'vgo1' ( smooth out highp 4-component vector of float)
2080:28        Constant:
2090:28          0.000000
2100:28          0.000000
2110:28          0.000000
2120:28          0.000000
2130:29      move second child to first child ( temp highp 2-component vector of float)
2140:29        'vgo2' ( smooth out highp 2-component vector of float)
2150:29        Constant:
2160:29          0.000000
2170:29          0.000000
2180:30      move second child to first child ( temp highp 4-component vector of float)
2190:30        o3: direct index for structure ( out highp 4-component vector of float)
2200:30          'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
2210:30          Constant:
2220:30            0 (const uint)
2230:30        Constant:
2240:30          0.000000
2250:30          0.000000
2260:30          0.000000
2270:30          0.000000
2280:?   Linker Objects
2290:?     'vgo1' ( smooth out highp 4-component vector of float)
2300:?     'vgo2' ( smooth out highp 2-component vector of float)
2310:?     'anon@0' (layout( location=5) out block{ out highp 4-component vector of float o3})
2320:?     'glass' (layout( binding=0) uniform highp sampler2D)
2330:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
2340:?     'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float vb1})
2350:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
236Shader version: 460
237invocations = 1
238max_vertices = 3
239input primitive = points
240output primitive = triangle_strip
2410:? Sequence
2420:25  Function Definition: main( ( global void)
2430:25    Function Parameters: 
2440:27    Sequence
2450:27      Sequence
2460:27        Sequence
2470:27          move second child to first child ( temp highp int)
2480:27            'i' ( temp highp int)
2490:27            Constant:
2500:27              0 (const int)
2510:27        Loop with condition tested first
2520:27          Loop Condition
2530:27          Compare Less Than ( temp bool)
2540:27            'i' ( temp highp int)
2550:27            Constant:
2560:27              3 (const int)
2570:27          Loop Body
2580:28          Sequence
2590:28            move second child to first child ( temp highp 4-component vector of float)
2600:28              'gfo1' (layout( stream=0) out highp 4-component vector of float)
2610:28              Constant:
2620:28                0.000000
2630:28                0.000000
2640:28                0.000000
2650:28                0.000000
2660:29            move second child to first child ( temp highp 2-component vector of float)
2670:29              'gfo2' (layout( stream=0) out highp 2-component vector of float)
2680:29              Constant:
2690:29                0.000000
2700:29                0.000000
2710:30            move second child to first child ( temp highp 4-component vector of float)
2720:30              o3: direct index for structure (layout( stream=0) out highp 4-component vector of float)
2730:30                'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
2740:30                Constant:
2750:30                  0 (const int)
2760:30              o3: direct index for structure ( in highp 4-component vector of float)
2770:30                indirect index (layout( location=5) temp block{ in highp 4-component vector of float o3})
2780:30                  'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
2790:30                  'i' ( temp highp int)
2800:30                Constant:
2810:30                  0 (const int)
2820:31            EmitVertex ( global void)
2830:27          Loop Terminal Expression
2840:27          Post-Increment ( temp highp int)
2850:27            'i' ( temp highp int)
2860:33      EndPrimitive ( global void)
2870:?   Linker Objects
2880:?     'vgo1' ( in 1-element array of highp 4-component vector of float)
2890:?     'vgo2' ( in 1-element array of highp 2-component vector of float)
2900:?     'inBlock' (layout( location=5) in 1-element array of block{ in highp 4-component vector of float o3})
2910:?     'gfo1' (layout( stream=0) out highp 4-component vector of float)
2920:?     'gfo2' (layout( stream=0) out highp 2-component vector of float)
2930:?     'gf_out' (layout( location=5 stream=0) out block{layout( stream=0) out highp 4-component vector of float o3})
2940:?     'blockName1' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
295Shader version: 460
296gl_FragCoord origin is upper left
2970:? Sequence
2980:30  Function Definition: Bar( ( global highp 2-component vector of float)
2990:30    Function Parameters: 
3000:31    Sequence
3010:31      Branch: Return with expression
3020:32        add ( temp highp 2-component vector of float)
3030:31          add ( temp highp 2-component vector of float)
3040:31            fb1: direct index for structure (layout( column_major std430) readonly buffer highp 2-component vector of float)
3050:31              'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
3060:31              Constant:
3070:31                0 (const uint)
3080:32            b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
3090:32              direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3100:32                'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3110:32                Constant:
3120:32                  0 (const int)
3130:32              Constant:
3140:32                1 (const int)
3150:33          b: direct index for structure (layout( column_major std140) uniform highp 2-component vector of float)
3160:33            direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3170:33              'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3180:33              Constant:
3190:33                1 (const int)
3200:33            Constant:
3210:33              1 (const int)
3220:36  Function Definition: Foo( ( global highp 4-component vector of float)
3230:36    Function Parameters: 
3240:37    Sequence
3250:37      Branch: Return with expression
3260:40        add ( temp highp 4-component vector of float)
3270:39          add ( temp highp 4-component vector of float)
3280:38            add ( temp highp 4-component vector of float)
3290:37              add ( temp highp 4-component vector of float)
3300:37                a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
3310:37                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
3320:37                  Constant:
3330:37                    0 (const uint)
3340:38                b: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
3350:38                  'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
3360:38                  Constant:
3370:38                    1 (const uint)
3380:39              a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
3390:39                direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3400:39                  'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3410:39                  Constant:
3420:39                    0 (const int)
3430:39                Constant:
3440:39                  0 (const int)
3450:40            a: direct index for structure (layout( column_major std140) uniform highp 4-component vector of float)
3460:40              direct index (layout( column_major std140) temp block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3470:40                'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
3480:40                Constant:
3490:40                  1 (const int)
3500:40              Constant:
3510:40                0 (const int)
3520:41          Construct vec4 ( temp highp 4-component vector of float)
3530:41            Function Call: Bar( ( global highp 2-component vector of float)
3540:41            Constant:
3550:41              0.000000
3560:41            Constant:
3570:41              0.000000
3580:44  Function Definition: main( ( global void)
3590:44    Function Parameters: 
3600:46    Sequence
3610:46      Sequence
3620:46        move second child to first child ( temp highp 4-component vector of float)
3630:46          'color' ( temp highp 4-component vector of float)
3640:46          'gfo1' ( smooth in highp 4-component vector of float)
3650:47      move second child to first child ( temp highp 4-component vector of float)
3660:47        'color' ( temp highp 4-component vector of float)
3670:47        add ( temp highp 4-component vector of float)
3680:47          'color' ( temp highp 4-component vector of float)
3690:47          Function Call: Foo( ( global highp 4-component vector of float)
3700:48      move second child to first child ( temp highp 4-component vector of float)
3710:48        'outColor' ( out highp 4-component vector of float)
3720:48        'color' ( temp highp 4-component vector of float)
3730:?   Linker Objects
3740:?     'anon@0' (layout( location=5) in block{ in highp 4-component vector of float o3})
3750:?     'gfo1' ( smooth in highp 4-component vector of float)
3760:?     'gfo2' ( smooth in highp 2-component vector of float)
3770:?     'outColor' ( out highp 4-component vector of float)
3780:?     'glass' (layout( binding=0) uniform highp sampler2D)
3790:?     'anon@1' (layout( column_major std140) uniform block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 4-component vector of float b})
3800:?     'anon@2' (layout( column_major std430) readonly buffer block{layout( column_major std430) readonly buffer highp 2-component vector of float fb1})
3810:?     'blockName2' (layout( column_major std140) uniform 2-element array of block{layout( column_major std140) uniform highp 4-component vector of float a, layout( column_major std140) uniform highp 2-component vector of float b})
382
383// Module Version 10000
384// Generated by (magic number): 8000b
385// Id's are bound by 38
386
387                              Capability Shader
388               1:             ExtInstImport  "GLSL.std.450"
389                              MemoryModel Logical GLSL450
390                              EntryPoint Vertex 4  "main" 9 14 18
391                              Source GLSL 460
392                              Name 4  "main"
393                              Name 9  "vgo1"
394                              Name 14  "vgo2"
395                              Name 16  "outBlock"
396                              MemberName 16(outBlock) 0  "o3"
397                              Name 18  ""
398                              Name 25  "glass"
399                              Name 26  "crossStageBlock1"
400                              MemberName 26(crossStageBlock1) 0  "a"
401                              MemberName 26(crossStageBlock1) 1  "b"
402                              Name 28  ""
403                              Name 29  "vertOnlyBlock"
404                              MemberName 29(vertOnlyBlock) 0  "vb1"
405                              Name 31  ""
406                              Name 32  "crossStageBlock2"
407                              MemberName 32(crossStageBlock2) 0  "a"
408                              MemberName 32(crossStageBlock2) 1  "b"
409                              Name 37  "blockName1"
410                              Decorate 9(vgo1) Location 0
411                              Decorate 14(vgo2) Location 1
412                              Decorate 16(outBlock) Block
413                              Decorate 18 Location 5
414                              Decorate 25(glass) DescriptorSet 0
415                              Decorate 25(glass) Binding 0
416                              MemberDecorate 26(crossStageBlock1) 0 Offset 0
417                              MemberDecorate 26(crossStageBlock1) 1 Offset 16
418                              Decorate 26(crossStageBlock1) Block
419                              Decorate 28 DescriptorSet 0
420                              Decorate 28 Binding 1
421                              MemberDecorate 29(vertOnlyBlock) 0 NonWritable
422                              MemberDecorate 29(vertOnlyBlock) 0 Offset 0
423                              Decorate 29(vertOnlyBlock) BufferBlock
424                              Decorate 31 DescriptorSet 0
425                              Decorate 31 Binding 0
426                              MemberDecorate 32(crossStageBlock2) 0 Offset 0
427                              MemberDecorate 32(crossStageBlock2) 1 Offset 16
428                              Decorate 32(crossStageBlock2) Block
429                              Decorate 37(blockName1) DescriptorSet 0
430                              Decorate 37(blockName1) Binding 3
431               2:             TypeVoid
432               3:             TypeFunction 2
433               6:             TypeFloat 32
434               7:             TypeVector 6(float) 4
435               8:             TypePointer Output 7(fvec4)
436         9(vgo1):      8(ptr) Variable Output
437              10:    6(float) Constant 0
438              11:    7(fvec4) ConstantComposite 10 10 10 10
439              12:             TypeVector 6(float) 2
440              13:             TypePointer Output 12(fvec2)
441        14(vgo2):     13(ptr) Variable Output
442              15:   12(fvec2) ConstantComposite 10 10
443    16(outBlock):             TypeStruct 7(fvec4)
444              17:             TypePointer Output 16(outBlock)
445              18:     17(ptr) Variable Output
446              19:             TypeInt 32 1
447              20:     19(int) Constant 0
448              22:             TypeImage 6(float) 2D sampled format:Unknown
449              23:             TypeSampledImage 22
450              24:             TypePointer UniformConstant 23
451       25(glass):     24(ptr) Variable UniformConstant
45226(crossStageBlock1):             TypeStruct 7(fvec4) 7(fvec4)
453              27:             TypePointer Uniform 26(crossStageBlock1)
454              28:     27(ptr) Variable Uniform
45529(vertOnlyBlock):             TypeStruct 12(fvec2)
456              30:             TypePointer Uniform 29(vertOnlyBlock)
457              31:     30(ptr) Variable Uniform
45832(crossStageBlock2):             TypeStruct 7(fvec4) 12(fvec2)
459              33:             TypeInt 32 0
460              34:     33(int) Constant 2
461              35:             TypeArray 32(crossStageBlock2) 34
462              36:             TypePointer Uniform 35
463  37(blockName1):     36(ptr) Variable Uniform
464         4(main):           2 Function None 3
465               5:             Label
466                              Store 9(vgo1) 11
467                              Store 14(vgo2) 15
468              21:      8(ptr) AccessChain 18 20
469                              Store 21 11
470                              Return
471                              FunctionEnd
472// Module Version 10000
473// Generated by (magic number): 8000b
474// Id's are bound by 57
475
476                              Capability Geometry
477               1:             ExtInstImport  "GLSL.std.450"
478                              MemoryModel Logical GLSL450
479                              EntryPoint Geometry 4  "main" 22 27 31 37 48 51
480                              ExecutionMode 4 InputPoints
481                              ExecutionMode 4 Invocations 1
482                              ExecutionMode 4 OutputTriangleStrip
483                              ExecutionMode 4 OutputVertices 3
484                              Source GLSL 460
485                              Name 4  "main"
486                              Name 8  "i"
487                              Name 22  "gfo1"
488                              Name 27  "gfo2"
489                              Name 29  "outBlock"
490                              MemberName 29(outBlock) 0  "o3"
491                              Name 31  "gf_out"
492                              Name 32  "outBlock"
493                              MemberName 32(outBlock) 0  "o3"
494                              Name 37  "inBlock"
495                              Name 48  "vgo1"
496                              Name 51  "vgo2"
497                              Name 52  "crossStageBlock2"
498                              MemberName 52(crossStageBlock2) 0  "a"
499                              MemberName 52(crossStageBlock2) 1  "b"
500                              Name 56  "blockName1"
501                              Decorate 22(gfo1) Location 0
502                              Decorate 27(gfo2) Location 1
503                              Decorate 29(outBlock) Block
504                              Decorate 31(gf_out) Location 5
505                              Decorate 32(outBlock) Block
506                              Decorate 37(inBlock) Location 5
507                              Decorate 48(vgo1) Location 0
508                              Decorate 51(vgo2) Location 1
509                              MemberDecorate 52(crossStageBlock2) 0 Offset 0
510                              MemberDecorate 52(crossStageBlock2) 1 Offset 16
511                              Decorate 52(crossStageBlock2) Block
512                              Decorate 56(blockName1) DescriptorSet 0
513                              Decorate 56(blockName1) Binding 3
514               2:             TypeVoid
515               3:             TypeFunction 2
516               6:             TypeInt 32 1
517               7:             TypePointer Function 6(int)
518               9:      6(int) Constant 0
519              16:      6(int) Constant 3
520              17:             TypeBool
521              19:             TypeFloat 32
522              20:             TypeVector 19(float) 4
523              21:             TypePointer Output 20(fvec4)
524        22(gfo1):     21(ptr) Variable Output
525              23:   19(float) Constant 0
526              24:   20(fvec4) ConstantComposite 23 23 23 23
527              25:             TypeVector 19(float) 2
528              26:             TypePointer Output 25(fvec2)
529        27(gfo2):     26(ptr) Variable Output
530              28:   25(fvec2) ConstantComposite 23 23
531    29(outBlock):             TypeStruct 20(fvec4)
532              30:             TypePointer Output 29(outBlock)
533      31(gf_out):     30(ptr) Variable Output
534    32(outBlock):             TypeStruct 20(fvec4)
535              33:             TypeInt 32 0
536              34:     33(int) Constant 1
537              35:             TypeArray 32(outBlock) 34
538              36:             TypePointer Input 35
539     37(inBlock):     36(ptr) Variable Input
540              39:             TypePointer Input 20(fvec4)
541              44:      6(int) Constant 1
542              46:             TypeArray 20(fvec4) 34
543              47:             TypePointer Input 46
544        48(vgo1):     47(ptr) Variable Input
545              49:             TypeArray 25(fvec2) 34
546              50:             TypePointer Input 49
547        51(vgo2):     50(ptr) Variable Input
54852(crossStageBlock2):             TypeStruct 20(fvec4) 25(fvec2)
549              53:     33(int) Constant 2
550              54:             TypeArray 52(crossStageBlock2) 53
551              55:             TypePointer Uniform 54
552  56(blockName1):     55(ptr) Variable Uniform
553         4(main):           2 Function None 3
554               5:             Label
555            8(i):      7(ptr) Variable Function
556                              Store 8(i) 9
557                              Branch 10
558              10:             Label
559                              LoopMerge 12 13 None
560                              Branch 14
561              14:             Label
562              15:      6(int) Load 8(i)
563              18:    17(bool) SLessThan 15 16
564                              BranchConditional 18 11 12
565              11:               Label
566                                Store 22(gfo1) 24
567                                Store 27(gfo2) 28
568              38:      6(int)   Load 8(i)
569              40:     39(ptr)   AccessChain 37(inBlock) 38 9
570              41:   20(fvec4)   Load 40
571              42:     21(ptr)   AccessChain 31(gf_out) 9
572                                Store 42 41
573                                EmitVertex
574                                Branch 13
575              13:               Label
576              43:      6(int)   Load 8(i)
577              45:      6(int)   IAdd 43 44
578                                Store 8(i) 45
579                                Branch 10
580              12:             Label
581                              EndPrimitive
582                              Return
583                              FunctionEnd
584// Module Version 10000
585// Generated by (magic number): 8000b
586// Id's are bound by 81
587
588                              Capability Shader
589               1:             ExtInstImport  "GLSL.std.450"
590                              MemoryModel Logical GLSL450
591                              EntryPoint Fragment 4  "main" 64 70 74 76
592                              ExecutionMode 4 OriginUpperLeft
593                              Source GLSL 460
594                              Name 4  "main"
595                              Name 9  "Bar("
596                              Name 13  "Foo("
597                              Name 15  "fragOnlyBlock"
598                              MemberName 15(fragOnlyBlock) 0  "fb1"
599                              Name 17  ""
600                              Name 23  "crossStageBlock2"
601                              MemberName 23(crossStageBlock2) 0  "a"
602                              MemberName 23(crossStageBlock2) 1  "b"
603                              Name 28  "blockName2"
604                              Name 38  "crossStageBlock1"
605                              MemberName 38(crossStageBlock1) 0  "a"
606                              MemberName 38(crossStageBlock1) 1  "b"
607                              Name 40  ""
608                              Name 62  "color"
609                              Name 64  "gfo1"
610                              Name 70  "outColor"
611                              Name 72  "outBlock"
612                              MemberName 72(outBlock) 0  "o3"
613                              Name 74  ""
614                              Name 76  "gfo2"
615                              Name 80  "glass"
616                              MemberDecorate 15(fragOnlyBlock) 0 NonWritable
617                              MemberDecorate 15(fragOnlyBlock) 0 Offset 0
618                              Decorate 15(fragOnlyBlock) BufferBlock
619                              Decorate 17 DescriptorSet 0
620                              Decorate 17 Binding 2
621                              MemberDecorate 23(crossStageBlock2) 0 Offset 0
622                              MemberDecorate 23(crossStageBlock2) 1 Offset 16
623                              Decorate 23(crossStageBlock2) Block
624                              Decorate 28(blockName2) DescriptorSet 0
625                              Decorate 28(blockName2) Binding 3
626                              MemberDecorate 38(crossStageBlock1) 0 Offset 0
627                              MemberDecorate 38(crossStageBlock1) 1 Offset 16
628                              Decorate 38(crossStageBlock1) Block
629                              Decorate 40 DescriptorSet 0
630                              Decorate 40 Binding 1
631                              Decorate 64(gfo1) Location 0
632                              Decorate 70(outColor) Location 0
633                              Decorate 72(outBlock) Block
634                              Decorate 74 Location 5
635                              Decorate 76(gfo2) Location 1
636                              Decorate 80(glass) DescriptorSet 0
637                              Decorate 80(glass) Binding 0
638               2:             TypeVoid
639               3:             TypeFunction 2
640               6:             TypeFloat 32
641               7:             TypeVector 6(float) 2
642               8:             TypeFunction 7(fvec2)
643              11:             TypeVector 6(float) 4
644              12:             TypeFunction 11(fvec4)
64515(fragOnlyBlock):             TypeStruct 7(fvec2)
646              16:             TypePointer Uniform 15(fragOnlyBlock)
647              17:     16(ptr) Variable Uniform
648              18:             TypeInt 32 1
649              19:     18(int) Constant 0
650              20:             TypePointer Uniform 7(fvec2)
65123(crossStageBlock2):             TypeStruct 11(fvec4) 7(fvec2)
652              24:             TypeInt 32 0
653              25:     24(int) Constant 2
654              26:             TypeArray 23(crossStageBlock2) 25
655              27:             TypePointer Uniform 26
656  28(blockName2):     27(ptr) Variable Uniform
657              29:     18(int) Constant 1
65838(crossStageBlock1):             TypeStruct 11(fvec4) 11(fvec4)
659              39:             TypePointer Uniform 38(crossStageBlock1)
660              40:     39(ptr) Variable Uniform
661              41:             TypePointer Uniform 11(fvec4)
662              54:    6(float) Constant 0
663              61:             TypePointer Function 11(fvec4)
664              63:             TypePointer Input 11(fvec4)
665        64(gfo1):     63(ptr) Variable Input
666              69:             TypePointer Output 11(fvec4)
667    70(outColor):     69(ptr) Variable Output
668    72(outBlock):             TypeStruct 11(fvec4)
669              73:             TypePointer Input 72(outBlock)
670              74:     73(ptr) Variable Input
671              75:             TypePointer Input 7(fvec2)
672        76(gfo2):     75(ptr) Variable Input
673              77:             TypeImage 6(float) 2D sampled format:Unknown
674              78:             TypeSampledImage 77
675              79:             TypePointer UniformConstant 78
676       80(glass):     79(ptr) Variable UniformConstant
677         4(main):           2 Function None 3
678               5:             Label
679       62(color):     61(ptr) Variable Function
680              65:   11(fvec4) Load 64(gfo1)
681                              Store 62(color) 65
682              66:   11(fvec4) Load 62(color)
683              67:   11(fvec4) FunctionCall 13(Foo()
684              68:   11(fvec4) FAdd 66 67
685                              Store 62(color) 68
686              71:   11(fvec4) Load 62(color)
687                              Store 70(outColor) 71
688                              Return
689                              FunctionEnd
690         9(Bar():    7(fvec2) Function None 8
691              10:             Label
692              21:     20(ptr) AccessChain 17 19
693              22:    7(fvec2) Load 21
694              30:     20(ptr) AccessChain 28(blockName2) 19 29
695              31:    7(fvec2) Load 30
696              32:    7(fvec2) FAdd 22 31
697              33:     20(ptr) AccessChain 28(blockName2) 29 29
698              34:    7(fvec2) Load 33
699              35:    7(fvec2) FAdd 32 34
700                              ReturnValue 35
701                              FunctionEnd
702        13(Foo():   11(fvec4) Function None 12
703              14:             Label
704              42:     41(ptr) AccessChain 40 19
705              43:   11(fvec4) Load 42
706              44:     41(ptr) AccessChain 40 29
707              45:   11(fvec4) Load 44
708              46:   11(fvec4) FAdd 43 45
709              47:     41(ptr) AccessChain 28(blockName2) 19 19
710              48:   11(fvec4) Load 47
711              49:   11(fvec4) FAdd 46 48
712              50:     41(ptr) AccessChain 28(blockName2) 29 19
713              51:   11(fvec4) Load 50
714              52:   11(fvec4) FAdd 49 51
715              53:    7(fvec2) FunctionCall 9(Bar()
716              55:    6(float) CompositeExtract 53 0
717              56:    6(float) CompositeExtract 53 1
718              57:   11(fvec4) CompositeConstruct 55 56 54 54
719              58:   11(fvec4) FAdd 52 57
720                              ReturnValue 58
721                              FunctionEnd
722