• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1vk.relaxed.stagelink.vert
2Shader version: 460
30:? Sequence
40:18  Function Definition: foo( ( global highp 4-component vector of float)
50:18    Function Parameters:
60:19    Sequence
70:19      Sequence
80:19        move second child to first child ( temp highp uint)
90:19          'j' ( temp highp uint)
100:19          add ( temp highp uint)
110:19            AtomicAdd ( global highp uint)
120:19              counter2: direct index for structure ( coherent volatile buffer highp uint)
130:19                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
140:19                Constant:
150:19                  1 (const uint)
160:19              Constant:
170:19                1 (const uint)
180:19            subtract ( temp highp uint)
190:19              AtomicAdd ( global highp uint)
200:19                counter3: direct index for structure ( coherent volatile buffer highp uint)
210:19                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
220:19                  Constant:
230:19                    0 (const uint)
240:19                Constant:
250:19                  4294967295 (const uint)
260:19              Constant:
270:19                1 (const uint)
280:20      Sequence
290:20        move second child to first child ( temp highp 4-component vector of float)
300:20          'v' ( temp highp 4-component vector of float)
310:20          add ( temp highp 4-component vector of float)
320:20            add ( temp highp 4-component vector of float)
330:20              add ( temp highp 4-component vector of float)
340:20                a: direct index for structure ( uniform highp 4-component vector of float)
350:20                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
360:20                  Constant:
370:20                    0 (const uint)
380:20                Construct vec4 ( temp highp 4-component vector of float)
390:20                  direct index ( temp highp float)
400:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
410:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
420:20                      Constant:
430:20                        2 (const uint)
440:20                    Constant:
450:20                      0 (const int)
460:20                  direct index ( temp highp float)
470:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
480:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
490:20                      Constant:
500:20                        2 (const uint)
510:20                    Constant:
520:20                      1 (const int)
530:20                  direct index ( temp highp float)
540:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
550:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
560:20                      Constant:
570:20                        1 (const uint)
580:20                    Constant:
590:20                      0 (const int)
600:20                  direct index ( temp highp float)
610:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
620:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
630:20                      Constant:
640:20                        1 (const uint)
650:20                    Constant:
660:20                      1 (const int)
670:20              c2: direct index for structure ( uniform highp 4-component vector of float)
680:20                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
690:20                Constant:
700:20                  3 (const uint)
710:20            d: direct index for structure ( uniform highp 4-component vector of float)
720:20              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
730:20              Constant:
740:20                4 (const uint)
750:22      Branch: Return with expression
760:22        vector-scale ( temp highp 4-component vector of float)
770:22          Convert uint to float ( temp highp float)
780:22            'j' ( temp highp uint)
790:22          'v' ( temp highp 4-component vector of float)
800:25  Function Definition: main( ( global void)
810:25    Function Parameters:
820:27    Sequence
830:27      Sequence
840:27        move second child to first child ( temp highp 4-component vector of float)
850:27          'v' ( temp highp 4-component vector of float)
860:27          Function Call: foo( ( global highp 4-component vector of float)
870:28      move second child to first child ( temp highp 4-component vector of float)
880:28        'v' ( temp highp 4-component vector of float)
890:28        add ( temp highp 4-component vector of float)
900:28          'v' ( temp highp 4-component vector of float)
910:28          indirect index ( temp highp 4-component vector of float)
920:28            s: direct index for structure ( uniform 4-element array of highp 4-component vector of float)
930:28              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
940:28              Constant:
950:28                5 (const uint)
960:28            subtract ( temp int)
970:28              'gl_VertexIndex' ( in int VertexIndex)
980:28              'gl_VertexIndex' ( in int VertexIndex)
990:29      move second child to first child ( temp highp float)
1000:29        direct index ( temp highp float)
1010:29          'v' ( temp highp 4-component vector of float)
1020:29          Constant:
1030:29            0 (const int)
1040:29        subtract ( temp highp float)
1050:29          direct index ( temp highp float)
1060:29            'v' ( temp highp 4-component vector of float)
1070:29            Constant:
1080:29              0 (const int)
1090:29          Convert int to float ( temp highp float)
1100:29            subtract ( temp highp int)
1110:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
1120:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
1130:30      move second child to first child ( temp highp 4-component vector of float)
1140:30        'io' (layout( location=0) smooth out highp 4-component vector of float)
1150:30        'v' ( temp highp 4-component vector of float)
1160:?   Linker Objects
1170:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
1180:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
1190:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
1200:?     'gl_VertexIndex' ( in int VertexIndex)
1210:?     'gl_InstanceIndex' ( in int InstanceIndex)
122
123vk.relaxed.stagelink.frag
124Shader version: 460
125gl_FragCoord origin is upper left
1260:? Sequence
1270:19  Function Definition: foo( ( global highp 4-component vector of float)
1280:19    Function Parameters:
1290:20    Sequence
1300:20      Sequence
1310:20        move second child to first child ( temp highp uint)
1320:20          'j' ( temp highp uint)
1330:20          add ( temp highp uint)
1340:20            AtomicAdd ( global highp uint)
1350:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
1360:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
1370:20                Constant:
1380:20                  0 (const uint)
1390:20              Constant:
1400:20                1 (const uint)
1410:20            subtract ( temp highp uint)
1420:20              AtomicAdd ( global highp uint)
1430:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
1440:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
1450:20                  Constant:
1460:20                    1 (const uint)
1470:20                Constant:
1480:20                  4294967295 (const uint)
1490:20              Constant:
1500:20                1 (const uint)
1510:21      Sequence
1520:21        move second child to first child ( temp highp 4-component vector of float)
1530:21          'v' ( temp highp 4-component vector of float)
1540:21          add ( temp highp 4-component vector of float)
1550:21            add ( temp highp 4-component vector of float)
1560:21              add ( temp highp 4-component vector of float)
1570:21                a: direct index for structure ( uniform highp 4-component vector of float)
1580:21                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1590:21                  Constant:
1600:21                    0 (const uint)
1610:21                Construct vec4 ( temp highp 4-component vector of float)
1620:21                  direct index ( temp highp float)
1630:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
1640:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1650:21                      Constant:
1660:21                        1 (const uint)
1670:21                    Constant:
1680:21                      0 (const int)
1690:21                  direct index ( temp highp float)
1700:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
1710:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1720:21                      Constant:
1730:21                        1 (const uint)
1740:21                    Constant:
1750:21                      1 (const int)
1760:21                  direct index ( temp highp float)
1770:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
1780:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1790:21                      Constant:
1800:21                        2 (const uint)
1810:21                    Constant:
1820:21                      0 (const int)
1830:21                  direct index ( temp highp float)
1840:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
1850:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1860:21                      Constant:
1870:21                        2 (const uint)
1880:21                    Constant:
1890:21                      1 (const int)
1900:21              c1: direct index for structure ( uniform highp 4-component vector of float)
1910:21                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1920:21                Constant:
1930:21                  3 (const uint)
1940:21            d: direct index for structure ( uniform highp 4-component vector of float)
1950:21              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
1960:21              Constant:
1970:21                4 (const uint)
1980:23      Branch: Return with expression
1990:23        vector-scale ( temp highp 4-component vector of float)
2000:23          Convert uint to float ( temp highp float)
2010:23            'j' ( temp highp uint)
2020:23          'v' ( temp highp 4-component vector of float)
2030:26  Function Definition: main( ( global void)
2040:26    Function Parameters:
2050:27    Sequence
2060:27      move second child to first child ( temp highp 4-component vector of float)
2070:27        'o' ( out highp 4-component vector of float)
2080:27        add ( temp highp 4-component vector of float)
2090:27          'io' (layout( location=0) smooth in highp 4-component vector of float)
2100:27          Function Call: foo( ( global highp 4-component vector of float)
2110:?   Linker Objects
2120:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
2130:?     'o' ( out highp 4-component vector of float)
2140:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
2150:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
216
217
218Linked vertex stage:
219
220
221Linked fragment stage:
222
223
224Shader version: 460
2250:? Sequence
2260:18  Function Definition: foo( ( global highp 4-component vector of float)
2270:18    Function Parameters:
2280:19    Sequence
2290:19      Sequence
2300:19        move second child to first child ( temp highp uint)
2310:19          'j' ( temp highp uint)
2320:19          add ( temp highp uint)
2330:19            AtomicAdd ( global highp uint)
2340:19              counter2: direct index for structure ( coherent volatile buffer highp uint)
2350:19                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
2360:19                Constant:
2370:19                  1 (const uint)
2380:19              Constant:
2390:19                1 (const uint)
2400:19            subtract ( temp highp uint)
2410:19              AtomicAdd ( global highp uint)
2420:19                counter3: direct index for structure ( coherent volatile buffer highp uint)
2430:19                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
2440:19                  Constant:
2450:19                    0 (const uint)
2460:19                Constant:
2470:19                  4294967295 (const uint)
2480:19              Constant:
2490:19                1 (const uint)
2500:20      Sequence
2510:20        move second child to first child ( temp highp 4-component vector of float)
2520:20          'v' ( temp highp 4-component vector of float)
2530:20          add ( temp highp 4-component vector of float)
2540:20            add ( temp highp 4-component vector of float)
2550:20              add ( temp highp 4-component vector of float)
2560:20                a: direct index for structure ( uniform highp 4-component vector of float)
2570:20                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2580:20                  Constant:
2590:20                    0 (const uint)
2600:20                Construct vec4 ( temp highp 4-component vector of float)
2610:20                  direct index ( temp highp float)
2620:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
2630:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2640:20                      Constant:
2650:20                        2 (const uint)
2660:20                    Constant:
2670:20                      0 (const int)
2680:20                  direct index ( temp highp float)
2690:20                    b1: direct index for structure ( uniform highp 2-component vector of float)
2700:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2710:20                      Constant:
2720:20                        2 (const uint)
2730:20                    Constant:
2740:20                      1 (const int)
2750:20                  direct index ( temp highp float)
2760:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
2770:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2780:20                      Constant:
2790:20                        1 (const uint)
2800:20                    Constant:
2810:20                      0 (const int)
2820:20                  direct index ( temp highp float)
2830:20                    b2: direct index for structure ( uniform highp 2-component vector of float)
2840:20                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2850:20                      Constant:
2860:20                        1 (const uint)
2870:20                    Constant:
2880:20                      1 (const int)
2890:20              c2: direct index for structure ( uniform highp 4-component vector of float)
2900:20                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2910:20                Constant:
2920:20                  3 (const uint)
2930:20            d: direct index for structure ( uniform highp 4-component vector of float)
2940:20              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
2950:20              Constant:
2960:20                4 (const uint)
2970:22      Branch: Return with expression
2980:22        vector-scale ( temp highp 4-component vector of float)
2990:22          Convert uint to float ( temp highp float)
3000:22            'j' ( temp highp uint)
3010:22          'v' ( temp highp 4-component vector of float)
3020:25  Function Definition: main( ( global void)
3030:25    Function Parameters:
3040:27    Sequence
3050:27      Sequence
3060:27        move second child to first child ( temp highp 4-component vector of float)
3070:27          'v' ( temp highp 4-component vector of float)
3080:27          Function Call: foo( ( global highp 4-component vector of float)
3090:28      move second child to first child ( temp highp 4-component vector of float)
3100:28        'v' ( temp highp 4-component vector of float)
3110:28        add ( temp highp 4-component vector of float)
3120:28          'v' ( temp highp 4-component vector of float)
3130:28          indirect index ( temp highp 4-component vector of float)
3140:28            s: direct index for structure ( uniform 4-element array of highp 4-component vector of float)
3150:28              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
3160:28              Constant:
3170:28                5 (const uint)
3180:28            subtract ( temp int)
3190:28              'gl_VertexIndex' ( in int VertexIndex)
3200:28              'gl_VertexIndex' ( in int VertexIndex)
3210:29      move second child to first child ( temp highp float)
3220:29        direct index ( temp highp float)
3230:29          'v' ( temp highp 4-component vector of float)
3240:29          Constant:
3250:29            0 (const int)
3260:29        subtract ( temp highp float)
3270:29          direct index ( temp highp float)
3280:29            'v' ( temp highp 4-component vector of float)
3290:29            Constant:
3300:29              0 (const int)
3310:29          Convert int to float ( temp highp float)
3320:29            subtract ( temp highp int)
3330:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
3340:29              'gl_InstanceIndex' ( in highp int InstanceIndex)
3350:30      move second child to first child ( temp highp 4-component vector of float)
3360:30        'io' (layout( location=0) smooth out highp 4-component vector of float)
3370:30        'v' ( temp highp 4-component vector of float)
3380:?   Linker Objects
3390:?     'io' (layout( location=0) smooth out highp 4-component vector of float)
3400:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b2,  uniform highp 2-component vector of float b1,  uniform highp 4-component vector of float c2,  uniform highp 4-component vector of float d,  uniform 4-element array of highp 4-component vector of float s})
3410:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
3420:?     'gl_VertexIndex' ( in int VertexIndex)
3430:?     'gl_InstanceIndex' ( in int InstanceIndex)
344Shader version: 460
345gl_FragCoord origin is upper left
3460:? Sequence
3470:19  Function Definition: foo( ( global highp 4-component vector of float)
3480:19    Function Parameters:
3490:20    Sequence
3500:20      Sequence
3510:20        move second child to first child ( temp highp uint)
3520:20          'j' ( temp highp uint)
3530:20          add ( temp highp uint)
3540:20            AtomicAdd ( global highp uint)
3550:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
3560:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
3570:20                Constant:
3580:20                  0 (const uint)
3590:20              Constant:
3600:20                1 (const uint)
3610:20            subtract ( temp highp uint)
3620:20              AtomicAdd ( global highp uint)
3630:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
3640:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
3650:20                  Constant:
3660:20                    1 (const uint)
3670:20                Constant:
3680:20                  4294967295 (const uint)
3690:20              Constant:
3700:20                1 (const uint)
3710:21      Sequence
3720:21        move second child to first child ( temp highp 4-component vector of float)
3730:21          'v' ( temp highp 4-component vector of float)
3740:21          add ( temp highp 4-component vector of float)
3750:21            add ( temp highp 4-component vector of float)
3760:21              add ( temp highp 4-component vector of float)
3770:21                a: direct index for structure ( uniform highp 4-component vector of float)
3780:21                  'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
3790:21                  Constant:
3800:21                    0 (const uint)
3810:21                Construct vec4 ( temp highp 4-component vector of float)
3820:21                  direct index ( temp highp float)
3830:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
3840:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
3850:21                      Constant:
3860:21                        1 (const uint)
3870:21                    Constant:
3880:21                      0 (const int)
3890:21                  direct index ( temp highp float)
3900:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
3910:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
3920:21                      Constant:
3930:21                        1 (const uint)
3940:21                    Constant:
3950:21                      1 (const int)
3960:21                  direct index ( temp highp float)
3970:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
3980:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
3990:21                      Constant:
4000:21                        2 (const uint)
4010:21                    Constant:
4020:21                      0 (const int)
4030:21                  direct index ( temp highp float)
4040:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
4050:21                      'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
4060:21                      Constant:
4070:21                        2 (const uint)
4080:21                    Constant:
4090:21                      1 (const int)
4100:21              c1: direct index for structure ( uniform highp 4-component vector of float)
4110:21                'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
4120:21                Constant:
4130:21                  3 (const uint)
4140:21            d: direct index for structure ( uniform highp 4-component vector of float)
4150:21              'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
4160:21              Constant:
4170:21                4 (const uint)
4180:23      Branch: Return with expression
4190:23        vector-scale ( temp highp 4-component vector of float)
4200:23          Convert uint to float ( temp highp float)
4210:23            'j' ( temp highp uint)
4220:23          'v' ( temp highp 4-component vector of float)
4230:26  Function Definition: main( ( global void)
4240:26    Function Parameters:
4250:27    Sequence
4260:27      move second child to first child ( temp highp 4-component vector of float)
4270:27        'o' ( out highp 4-component vector of float)
4280:27        add ( temp highp 4-component vector of float)
4290:27          'io' (layout( location=0) smooth in highp 4-component vector of float)
4300:27          Function Call: foo( ( global highp 4-component vector of float)
4310:?   Linker Objects
4320:?     'io' (layout( location=0) smooth in highp 4-component vector of float)
4330:?     'o' ( out highp 4-component vector of float)
4340:?     'anon@0' (layout( column_major std140) uniform block{ uniform highp 4-component vector of float a,  uniform highp 2-component vector of float b1,  uniform highp 2-component vector of float b2,  uniform highp 4-component vector of float c1,  uniform highp 4-component vector of float d})
4350:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
436
437// Module Version 10000
438// Generated by (magic number): 8000b
439// Id's are bound by 92
440
441                              Capability Shader
442               1:             ExtInstImport  "GLSL.std.450"
443                              MemoryModel Logical GLSL450
444                              EntryPoint Vertex 4  "main" 72 82 90
445                              Source GLSL 460
446                              Name 4  "main"
447                              Name 9  "foo("
448                              Name 13  "j"
449                              Name 14  "gl_AtomicCounterBlock_0"
450                              MemberName 14(gl_AtomicCounterBlock_0) 0  "counter3"
451                              MemberName 14(gl_AtomicCounterBlock_0) 1  "counter2"
452                              MemberName 14(gl_AtomicCounterBlock_0) 2  "counter1"
453                              Name 16  ""
454                              Name 31  "v"
455                              Name 35  "gl_DefaultUniformBlock"
456                              MemberName 35(gl_DefaultUniformBlock) 0  "a"
457                              MemberName 35(gl_DefaultUniformBlock) 1  "b2"
458                              MemberName 35(gl_DefaultUniformBlock) 2  "b1"
459                              MemberName 35(gl_DefaultUniformBlock) 3  "c2"
460                              MemberName 35(gl_DefaultUniformBlock) 4  "d"
461                              MemberName 35(gl_DefaultUniformBlock) 5  "s"
462                              MemberName 35(gl_DefaultUniformBlock) 6  "c1"
463                              Name 37  ""
464                              Name 67  "v"
465                              Name 72  "gl_VertexIndex"
466                              Name 82  "gl_InstanceIndex"
467                              Name 90  "io"
468                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
469                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
470                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
471                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0
472                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
473                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Volatile
474                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
475                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Offset 4
476                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
477                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile
478                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
479                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8
480                              Decorate 14(gl_AtomicCounterBlock_0) BufferBlock
481                              Decorate 16 DescriptorSet 0
482                              Decorate 16 Binding 1
483                              Decorate 34 ArrayStride 16
484                              MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0
485                              MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16
486                              MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24
487                              MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32
488                              MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48
489                              MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64
490                              MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128
491                              Decorate 35(gl_DefaultUniformBlock) Block
492                              Decorate 37 DescriptorSet 0
493                              Decorate 37 Binding 0
494                              Decorate 72(gl_VertexIndex) BuiltIn VertexIndex
495                              Decorate 82(gl_InstanceIndex) BuiltIn InstanceIndex
496                              Decorate 90(io) Location 0
497               2:             TypeVoid
498               3:             TypeFunction 2
499               6:             TypeFloat 32
500               7:             TypeVector 6(float) 4
501               8:             TypeFunction 7(fvec4)
502              11:             TypeInt 32 0
503              12:             TypePointer Function 11(int)
50414(gl_AtomicCounterBlock_0):             TypeStruct 11(int) 11(int) 11(int)
505              15:             TypePointer Uniform 14(gl_AtomicCounterBlock_0)
506              16:     15(ptr) Variable Uniform
507              17:             TypeInt 32 1
508              18:     17(int) Constant 1
509              19:             TypePointer Uniform 11(int)
510              21:     11(int) Constant 1
511              22:     11(int) Constant 0
512              24:     17(int) Constant 0
513              26:     11(int) Constant 4294967295
514              30:             TypePointer Function 7(fvec4)
515              32:             TypeVector 6(float) 2
516              33:     11(int) Constant 4
517              34:             TypeArray 7(fvec4) 33
51835(gl_DefaultUniformBlock):             TypeStruct 7(fvec4) 32(fvec2) 32(fvec2) 7(fvec4) 7(fvec4) 34 7(fvec4)
519              36:             TypePointer Uniform 35(gl_DefaultUniformBlock)
520              37:     36(ptr) Variable Uniform
521              38:             TypePointer Uniform 7(fvec4)
522              41:     17(int) Constant 2
523              42:             TypePointer Uniform 6(float)
524              53:     17(int) Constant 3
525              57:     17(int) Constant 4
526              70:     17(int) Constant 5
527              71:             TypePointer Input 17(int)
52872(gl_VertexIndex):     71(ptr) Variable Input
529              79:             TypePointer Function 6(float)
53082(gl_InstanceIndex):     71(ptr) Variable Input
531              89:             TypePointer Output 7(fvec4)
532          90(io):     89(ptr) Variable Output
533         4(main):           2 Function None 3
534               5:             Label
535           67(v):     30(ptr) Variable Function
536              68:    7(fvec4) FunctionCall 9(foo()
537                              Store 67(v) 68
538              69:    7(fvec4) Load 67(v)
539              73:     17(int) Load 72(gl_VertexIndex)
540              74:     17(int) Load 72(gl_VertexIndex)
541              75:     17(int) ISub 73 74
542              76:     38(ptr) AccessChain 37 70 75
543              77:    7(fvec4) Load 76
544              78:    7(fvec4) FAdd 69 77
545                              Store 67(v) 78
546              80:     79(ptr) AccessChain 67(v) 22
547              81:    6(float) Load 80
548              83:     17(int) Load 82(gl_InstanceIndex)
549              84:     17(int) Load 82(gl_InstanceIndex)
550              85:     17(int) ISub 83 84
551              86:    6(float) ConvertSToF 85
552              87:    6(float) FSub 81 86
553              88:     79(ptr) AccessChain 67(v) 22
554                              Store 88 87
555              91:    7(fvec4) Load 67(v)
556                              Store 90(io) 91
557                              Return
558                              FunctionEnd
559         9(foo():    7(fvec4) Function None 8
560              10:             Label
561           13(j):     12(ptr) Variable Function
562           31(v):     30(ptr) Variable Function
563              20:     19(ptr) AccessChain 16 18
564              23:     11(int) AtomicIAdd 20 21 22 21
565              25:     19(ptr) AccessChain 16 24
566              27:     11(int) AtomicIAdd 25 21 22 26
567              28:     11(int) ISub 27 21
568              29:     11(int) IAdd 23 28
569                              Store 13(j) 29
570              39:     38(ptr) AccessChain 37 24
571              40:    7(fvec4) Load 39
572              43:     42(ptr) AccessChain 37 41 22
573              44:    6(float) Load 43
574              45:     42(ptr) AccessChain 37 41 21
575              46:    6(float) Load 45
576              47:     42(ptr) AccessChain 37 18 22
577              48:    6(float) Load 47
578              49:     42(ptr) AccessChain 37 18 21
579              50:    6(float) Load 49
580              51:    7(fvec4) CompositeConstruct 44 46 48 50
581              52:    7(fvec4) FAdd 40 51
582              54:     38(ptr) AccessChain 37 53
583              55:    7(fvec4) Load 54
584              56:    7(fvec4) FAdd 52 55
585              58:     38(ptr) AccessChain 37 57
586              59:    7(fvec4) Load 58
587              60:    7(fvec4) FAdd 56 59
588                              Store 31(v) 60
589              61:     11(int) Load 13(j)
590              62:    6(float) ConvertUToF 61
591              63:    7(fvec4) Load 31(v)
592              64:    7(fvec4) VectorTimesScalar 63 62
593                              ReturnValue 64
594                              FunctionEnd
595// Module Version 10000
596// Generated by (magic number): 8000b
597// Id's are bound by 74
598
599                              Capability Shader
600               1:             ExtInstImport  "GLSL.std.450"
601                              MemoryModel Logical GLSL450
602                              EntryPoint Fragment 4  "main" 68 70
603                              ExecutionMode 4 OriginUpperLeft
604                              Source GLSL 460
605                              Name 4  "main"
606                              Name 9  "foo("
607                              Name 13  "j"
608                              Name 14  "gl_AtomicCounterBlock_0"
609                              MemberName 14(gl_AtomicCounterBlock_0) 0  "counter3"
610                              MemberName 14(gl_AtomicCounterBlock_0) 1  "counter2"
611                              MemberName 14(gl_AtomicCounterBlock_0) 2  "counter1"
612                              Name 16  ""
613                              Name 31  "v"
614                              Name 35  "gl_DefaultUniformBlock"
615                              MemberName 35(gl_DefaultUniformBlock) 0  "a"
616                              MemberName 35(gl_DefaultUniformBlock) 1  "b2"
617                              MemberName 35(gl_DefaultUniformBlock) 2  "b1"
618                              MemberName 35(gl_DefaultUniformBlock) 3  "c2"
619                              MemberName 35(gl_DefaultUniformBlock) 4  "d"
620                              MemberName 35(gl_DefaultUniformBlock) 5  "s"
621                              MemberName 35(gl_DefaultUniformBlock) 6  "c1"
622                              Name 37  ""
623                              Name 68  "o"
624                              Name 70  "io"
625                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
626                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Volatile
627                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Coherent
628                              MemberDecorate 14(gl_AtomicCounterBlock_0) 0 Offset 0
629                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
630                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Volatile
631                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Coherent
632                              MemberDecorate 14(gl_AtomicCounterBlock_0) 1 Offset 4
633                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
634                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Volatile
635                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Coherent
636                              MemberDecorate 14(gl_AtomicCounterBlock_0) 2 Offset 8
637                              Decorate 14(gl_AtomicCounterBlock_0) BufferBlock
638                              Decorate 16 DescriptorSet 0
639                              Decorate 16 Binding 1
640                              Decorate 34 ArrayStride 16
641                              MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0
642                              MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16
643                              MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24
644                              MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32
645                              MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48
646                              MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64
647                              MemberDecorate 35(gl_DefaultUniformBlock) 6 Offset 128
648                              Decorate 35(gl_DefaultUniformBlock) Block
649                              Decorate 37 DescriptorSet 0
650                              Decorate 37 Binding 0
651                              Decorate 68(o) Location 0
652                              Decorate 70(io) Location 0
653               2:             TypeVoid
654               3:             TypeFunction 2
655               6:             TypeFloat 32
656               7:             TypeVector 6(float) 4
657               8:             TypeFunction 7(fvec4)
658              11:             TypeInt 32 0
659              12:             TypePointer Function 11(int)
66014(gl_AtomicCounterBlock_0):             TypeStruct 11(int) 11(int) 11(int)
661              15:             TypePointer Uniform 14(gl_AtomicCounterBlock_0)
662              16:     15(ptr) Variable Uniform
663              17:             TypeInt 32 1
664              18:     17(int) Constant 2
665              19:             TypePointer Uniform 11(int)
666              21:     11(int) Constant 1
667              22:     11(int) Constant 0
668              24:     17(int) Constant 1
669              26:     11(int) Constant 4294967295
670              30:             TypePointer Function 7(fvec4)
671              32:             TypeVector 6(float) 2
672              33:     11(int) Constant 4
673              34:             TypeArray 7(fvec4) 33
67435(gl_DefaultUniformBlock):             TypeStruct 7(fvec4) 32(fvec2) 32(fvec2) 7(fvec4) 7(fvec4) 34 7(fvec4)
675              36:             TypePointer Uniform 35(gl_DefaultUniformBlock)
676              37:     36(ptr) Variable Uniform
677              38:     17(int) Constant 0
678              39:             TypePointer Uniform 7(fvec4)
679              42:             TypePointer Uniform 6(float)
680              53:     17(int) Constant 6
681              57:     17(int) Constant 4
682              67:             TypePointer Output 7(fvec4)
683           68(o):     67(ptr) Variable Output
684              69:             TypePointer Input 7(fvec4)
685          70(io):     69(ptr) Variable Input
686         4(main):           2 Function None 3
687               5:             Label
688              71:    7(fvec4) Load 70(io)
689              72:    7(fvec4) FunctionCall 9(foo()
690              73:    7(fvec4) FAdd 71 72
691                              Store 68(o) 73
692                              Return
693                              FunctionEnd
694         9(foo():    7(fvec4) Function None 8
695              10:             Label
696           13(j):     12(ptr) Variable Function
697           31(v):     30(ptr) Variable Function
698              20:     19(ptr) AccessChain 16 18
699              23:     11(int) AtomicIAdd 20 21 22 21
700              25:     19(ptr) AccessChain 16 24
701              27:     11(int) AtomicIAdd 25 21 22 26
702              28:     11(int) ISub 27 21
703              29:     11(int) IAdd 23 28
704                              Store 13(j) 29
705              40:     39(ptr) AccessChain 37 38
706              41:    7(fvec4) Load 40
707              43:     42(ptr) AccessChain 37 18 22
708              44:    6(float) Load 43
709              45:     42(ptr) AccessChain 37 18 21
710              46:    6(float) Load 45
711              47:     42(ptr) AccessChain 37 24 22
712              48:    6(float) Load 47
713              49:     42(ptr) AccessChain 37 24 21
714              50:    6(float) Load 49
715              51:    7(fvec4) CompositeConstruct 44 46 48 50
716              52:    7(fvec4) FAdd 41 51
717              54:     39(ptr) AccessChain 37 53
718              55:    7(fvec4) Load 54
719              56:    7(fvec4) FAdd 52 55
720              58:     39(ptr) AccessChain 37 57
721              59:    7(fvec4) Load 58
722              60:    7(fvec4) FAdd 56 59
723                              Store 31(v) 60
724              61:     11(int) Load 13(j)
725              62:    6(float) ConvertUToF 61
726              63:    7(fvec4) Load 31(v)
727              64:    7(fvec4) VectorTimesScalar 63 62
728                              ReturnValue 64
729                              FunctionEnd
730