• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1vk.relaxed.link1.frag
2Shader version: 460
3gl_FragCoord origin is upper left
40:? Sequence
50:19  Function Definition: bar( ( global highp 4-component vector of float)
60:19    Function Parameters:
70:20    Sequence
80:20      Sequence
90:20        move second child to first child ( temp highp uint)
100:20          'j' ( temp highp uint)
110:20          add ( temp highp uint)
120:20            AtomicAdd ( global highp uint)
130:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
140:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
150:20                Constant:
160:20                  0 (const uint)
170:20              Constant:
180:20                1 (const uint)
190:20            subtract ( temp highp uint)
200:20              AtomicAdd ( global highp uint)
210:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
220:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
230:20                  Constant:
240:20                    1 (const uint)
250:20                Constant:
260:20                  4294967295 (const uint)
270:20              Constant:
280:20                1 (const uint)
290:21      Sequence
300:21        move second child to first child ( temp highp 4-component vector of float)
310:21          'v' ( temp highp 4-component vector of float)
320:21          add ( temp highp 4-component vector of float)
330:21            add ( temp highp 4-component vector of float)
340:21              add ( temp highp 4-component vector of float)
350:21                a: direct index for structure ( uniform highp 4-component vector of float)
360: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})
370:21                  Constant:
380:21                    0 (const uint)
390:21                Construct vec4 ( temp highp 4-component vector of float)
400:21                  direct index ( temp highp float)
410:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
420: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})
430:21                      Constant:
440:21                        1 (const uint)
450:21                    Constant:
460:21                      0 (const int)
470:21                  direct index ( temp highp float)
480:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
490: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})
500:21                      Constant:
510:21                        1 (const uint)
520:21                    Constant:
530:21                      1 (const int)
540:21                  direct index ( temp highp float)
550:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
560: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})
570:21                      Constant:
580:21                        2 (const uint)
590:21                    Constant:
600:21                      0 (const int)
610:21                  direct index ( temp highp float)
620:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
630: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})
640:21                      Constant:
650:21                        2 (const uint)
660:21                    Constant:
670:21                      1 (const int)
680:21              c1: direct index for structure ( uniform highp 4-component vector of float)
690: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})
700:21                Constant:
710:21                  3 (const uint)
720:21            d: direct index for structure ( uniform highp 4-component vector of float)
730: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})
740:21              Constant:
750:21                4 (const uint)
760:23      Branch: Return with expression
770:23        vector-scale ( temp highp 4-component vector of float)
780:23          Convert uint to float ( temp highp float)
790:23            'j' ( temp highp uint)
800:23          'v' ( temp highp 4-component vector of float)
810:26  Function Definition: main( ( global void)
820:26    Function Parameters:
830:27    Sequence
840:27      move second child to first child ( temp highp 4-component vector of float)
850:27        'o' ( out highp 4-component vector of float)
860:27        add ( temp highp 4-component vector of float)
870:27          Function Call: foo( ( global highp 4-component vector of float)
880:27          Function Call: bar( ( global highp 4-component vector of float)
890:?   Linker Objects
900:?     'o' ( out highp 4-component vector of float)
910:?     '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})
920:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2})
93
94vk.relaxed.link2.frag
95Shader version: 460
96gl_FragCoord origin is upper left
970:? Sequence
980:14  Function Definition: foo( ( global highp 4-component vector of float)
990:14    Function Parameters:
1000:15    Sequence
1010:15      Sequence
1020:15        move second child to first child ( temp highp uint)
1030:15          'j' ( temp highp uint)
1040:15          add ( temp highp uint)
1050:15            AtomicAdd ( global highp uint)
1060:15              counter2: direct index for structure ( coherent volatile buffer highp uint)
1070:15                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
1080:15                Constant:
1090:15                  1 (const uint)
1100:15              Constant:
1110:15                1 (const uint)
1120:15            subtract ( temp highp uint)
1130:15              AtomicAdd ( global highp uint)
1140:15                counter3: direct index for structure ( coherent volatile buffer highp uint)
1150:15                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
1160:15                  Constant:
1170:15                    0 (const uint)
1180:15                Constant:
1190:15                  4294967295 (const uint)
1200:15              Constant:
1210:15                1 (const uint)
1220:16      Sequence
1230:16        move second child to first child ( temp highp 4-component vector of float)
1240:16          'v' ( temp highp 4-component vector of float)
1250:16          add ( temp highp 4-component vector of float)
1260:16            add ( temp highp 4-component vector of float)
1270:16              add ( temp highp 4-component vector of float)
1280:16                a: direct index for structure ( uniform highp 4-component vector of float)
1290:16                  '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})
1300:16                  Constant:
1310:16                    0 (const uint)
1320:16                Construct vec4 ( temp highp 4-component vector of float)
1330:16                  direct index ( temp highp float)
1340:16                    b1: direct index for structure ( uniform highp 2-component vector of float)
1350:16                      '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})
1360:16                      Constant:
1370:16                        2 (const uint)
1380:16                    Constant:
1390:16                      0 (const int)
1400:16                  direct index ( temp highp float)
1410:16                    b1: direct index for structure ( uniform highp 2-component vector of float)
1420:16                      '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})
1430:16                      Constant:
1440:16                        2 (const uint)
1450:16                    Constant:
1460:16                      1 (const int)
1470:16                  direct index ( temp highp float)
1480:16                    b2: direct index for structure ( uniform highp 2-component vector of float)
1490:16                      '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})
1500:16                      Constant:
1510:16                        1 (const uint)
1520:16                    Constant:
1530:16                      0 (const int)
1540:16                  direct index ( temp highp float)
1550:16                    b2: direct index for structure ( uniform highp 2-component vector of float)
1560:16                      '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})
1570:16                      Constant:
1580:16                        1 (const uint)
1590:16                    Constant:
1600:16                      1 (const int)
1610:16              c2: direct index for structure ( uniform highp 4-component vector of float)
1620:16                '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})
1630:16                Constant:
1640:16                  3 (const uint)
1650:16            d: direct index for structure ( uniform highp 4-component vector of float)
1660:16              '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})
1670:16              Constant:
1680:16                4 (const uint)
1690:18      Branch: Return with expression
1700:18        vector-scale ( temp highp 4-component vector of float)
1710:18          Convert uint to float ( temp highp float)
1720:18            'j' ( temp highp uint)
1730:18          'v' ( temp highp 4-component vector of float)
1740:?   Linker Objects
1750:?     '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})
1760:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter3,  coherent volatile buffer highp uint counter2})
177
178
179Linked fragment stage:
180
181
182Shader version: 460
183gl_FragCoord origin is upper left
1840:? Sequence
1850:19  Function Definition: bar( ( global highp 4-component vector of float)
1860:19    Function Parameters:
1870:20    Sequence
1880:20      Sequence
1890:20        move second child to first child ( temp highp uint)
1900:20          'j' ( temp highp uint)
1910:20          add ( temp highp uint)
1920:20            AtomicAdd ( global highp uint)
1930:20              counter1: direct index for structure ( coherent volatile buffer highp uint)
1940:20                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2,  coherent volatile buffer highp uint counter3})
1950:20                Constant:
1960:20                  0 (const uint)
1970:20              Constant:
1980:20                1 (const uint)
1990:20            subtract ( temp highp uint)
2000:20              AtomicAdd ( global highp uint)
2010:20                counter2: direct index for structure ( coherent volatile buffer highp uint)
2020:20                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2,  coherent volatile buffer highp uint counter3})
2030:20                  Constant:
2040:20                    1 (const uint)
2050:20                Constant:
2060:20                  4294967295 (const uint)
2070:20              Constant:
2080:20                1 (const uint)
2090:21      Sequence
2100:21        move second child to first child ( temp highp 4-component vector of float)
2110:21          'v' ( temp highp 4-component vector of float)
2120:21          add ( temp highp 4-component vector of float)
2130:21            add ( temp highp 4-component vector of float)
2140:21              add ( temp highp 4-component vector of float)
2150:21                a: direct index for structure ( uniform highp 4-component vector of float)
2160: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,  uniform highp 4-component vector of float c2})
2170:21                  Constant:
2180:21                    0 (const uint)
2190:21                Construct vec4 ( temp highp 4-component vector of float)
2200:21                  direct index ( temp highp float)
2210:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
2220: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,  uniform highp 4-component vector of float c2})
2230:21                      Constant:
2240:21                        1 (const uint)
2250:21                    Constant:
2260:21                      0 (const int)
2270:21                  direct index ( temp highp float)
2280:21                    b1: direct index for structure ( uniform highp 2-component vector of float)
2290: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,  uniform highp 4-component vector of float c2})
2300:21                      Constant:
2310:21                        1 (const uint)
2320:21                    Constant:
2330:21                      1 (const int)
2340:21                  direct index ( temp highp float)
2350:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
2360: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,  uniform highp 4-component vector of float c2})
2370:21                      Constant:
2380:21                        2 (const uint)
2390:21                    Constant:
2400:21                      0 (const int)
2410:21                  direct index ( temp highp float)
2420:21                    b2: direct index for structure ( uniform highp 2-component vector of float)
2430: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,  uniform highp 4-component vector of float c2})
2440:21                      Constant:
2450:21                        2 (const uint)
2460:21                    Constant:
2470:21                      1 (const int)
2480:21              c1: direct index for structure ( uniform highp 4-component vector of float)
2490: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,  uniform highp 4-component vector of float c2})
2500:21                Constant:
2510:21                  3 (const uint)
2520:21            d: direct index for structure ( uniform highp 4-component vector of float)
2530: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,  uniform highp 4-component vector of float c2})
2540:21              Constant:
2550:21                4 (const uint)
2560:23      Branch: Return with expression
2570:23        vector-scale ( temp highp 4-component vector of float)
2580:23          Convert uint to float ( temp highp float)
2590:23            'j' ( temp highp uint)
2600:23          'v' ( temp highp 4-component vector of float)
2610:26  Function Definition: main( ( global void)
2620:26    Function Parameters:
2630:27    Sequence
2640:27      move second child to first child ( temp highp 4-component vector of float)
2650:27        'o' ( out highp 4-component vector of float)
2660:27        add ( temp highp 4-component vector of float)
2670:27          Function Call: foo( ( global highp 4-component vector of float)
2680:27          Function Call: bar( ( global highp 4-component vector of float)
2690:14  Function Definition: foo( ( global highp 4-component vector of float)
2700:14    Function Parameters:
2710:15    Sequence
2720:15      Sequence
2730:15        move second child to first child ( temp highp uint)
2740:15          'j' ( temp highp uint)
2750:15          add ( temp highp uint)
2760:15            AtomicAdd ( global highp uint)
2770:15              counter2: direct index for structure ( coherent volatile buffer highp uint)
2780:15                'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2,  coherent volatile buffer highp uint counter3})
2790:15                Constant:
2800:15                  1 (const uint)
2810:15              Constant:
2820:15                1 (const uint)
2830:15            subtract ( temp highp uint)
2840:15              AtomicAdd ( global highp uint)
2850:15                counter3: direct index for structure ( coherent volatile buffer highp uint)
2860:15                  'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2,  coherent volatile buffer highp uint counter3})
2870:15                  Constant:
2880:15                    2 (const uint)
2890:15                Constant:
2900:15                  4294967295 (const uint)
2910:15              Constant:
2920:15                1 (const uint)
2930:16      Sequence
2940:16        move second child to first child ( temp highp 4-component vector of float)
2950:16          'v' ( temp highp 4-component vector of float)
2960:16          add ( temp highp 4-component vector of float)
2970:16            add ( temp highp 4-component vector of float)
2980:16              add ( temp highp 4-component vector of float)
2990:16                a: direct index for structure ( uniform highp 4-component vector of float)
3000:16                  '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,  uniform highp 4-component vector of float c2})
3010:16                  Constant:
3020:16                    0 (const uint)
3030:16                Construct vec4 ( temp highp 4-component vector of float)
3040:16                  direct index ( temp highp float)
3050:16                    b1: direct index for structure ( uniform highp 2-component vector of float)
3060:16                      '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,  uniform highp 4-component vector of float c2})
3070:16                      Constant:
3080:16                        1 (const uint)
3090:16                    Constant:
3100:16                      0 (const int)
3110:16                  direct index ( temp highp float)
3120:16                    b1: direct index for structure ( uniform highp 2-component vector of float)
3130:16                      '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,  uniform highp 4-component vector of float c2})
3140:16                      Constant:
3150:16                        1 (const uint)
3160:16                    Constant:
3170:16                      1 (const int)
3180:16                  direct index ( temp highp float)
3190:16                    b2: direct index for structure ( uniform highp 2-component vector of float)
3200:16                      '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,  uniform highp 4-component vector of float c2})
3210:16                      Constant:
3220:16                        2 (const uint)
3230:16                    Constant:
3240:16                      0 (const int)
3250:16                  direct index ( temp highp float)
3260:16                    b2: direct index for structure ( uniform highp 2-component vector of float)
3270:16                      '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,  uniform highp 4-component vector of float c2})
3280:16                      Constant:
3290:16                        2 (const uint)
3300:16                    Constant:
3310:16                      1 (const int)
3320:16              c2: direct index for structure ( uniform highp 4-component vector of float)
3330:16                '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,  uniform highp 4-component vector of float c2})
3340:16                Constant:
3350:16                  5 (const uint)
3360:16            d: direct index for structure ( uniform highp 4-component vector of float)
3370:16              '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,  uniform highp 4-component vector of float c2})
3380:16              Constant:
3390:16                4 (const uint)
3400:18      Branch: Return with expression
3410:18        vector-scale ( temp highp 4-component vector of float)
3420:18          Convert uint to float ( temp highp float)
3430:18            'j' ( temp highp uint)
3440:18          'v' ( temp highp 4-component vector of float)
3450:?   Linker Objects
3460:?     'o' ( out highp 4-component vector of float)
3470:?     '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,  uniform highp 4-component vector of float c2})
3480:?     'anon@1' (layout( column_major std430) buffer block{ coherent volatile buffer highp uint counter1,  coherent volatile buffer highp uint counter2,  coherent volatile buffer highp uint counter3})
349
350// Module Version 10000
351// Generated by (magic number): 8000a
352// Id's are bound by 105
353
354                              Capability Shader
355               1:             ExtInstImport  "GLSL.std.450"
356                              MemoryModel Logical GLSL450
357                              EntryPoint Fragment 4  "main" 68
358                              ExecutionMode 4 OriginUpperLeft
359                              Source GLSL 460
360                              Name 4  "main"
361                              Name 9  "bar("
362                              Name 11  "foo("
363                              Name 15  "j"
364                              Name 16  "gl_AtomicCounterBlock_0"
365                              MemberName 16(gl_AtomicCounterBlock_0) 0  "counter1"
366                              MemberName 16(gl_AtomicCounterBlock_0) 1  "counter2"
367                              MemberName 16(gl_AtomicCounterBlock_0) 2  "counter3"
368                              Name 18  ""
369                              Name 33  "v"
370                              Name 35  "gl_DefaultUniformBlock"
371                              MemberName 35(gl_DefaultUniformBlock) 0  "a"
372                              MemberName 35(gl_DefaultUniformBlock) 1  "b1"
373                              MemberName 35(gl_DefaultUniformBlock) 2  "b2"
374                              MemberName 35(gl_DefaultUniformBlock) 3  "c1"
375                              MemberName 35(gl_DefaultUniformBlock) 4  "d"
376                              MemberName 35(gl_DefaultUniformBlock) 5  "c2"
377                              Name 37  ""
378                              Name 68  "o"
379                              Name 72  "j"
380                              Name 79  "v"
381                              MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Coherent
382                              MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Volatile
383                              MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Coherent
384                              MemberDecorate 16(gl_AtomicCounterBlock_0) 0 Offset 0
385                              MemberDecorate 16(gl_AtomicCounterBlock_0) 1 Coherent
386                              MemberDecorate 16(gl_AtomicCounterBlock_0) 1 Volatile
387                              MemberDecorate 16(gl_AtomicCounterBlock_0) 1 Coherent
388                              MemberDecorate 16(gl_AtomicCounterBlock_0) 1 Offset 4
389                              MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Coherent
390                              MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Volatile
391                              MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Coherent
392                              MemberDecorate 16(gl_AtomicCounterBlock_0) 2 Offset 8
393                              Decorate 16(gl_AtomicCounterBlock_0) BufferBlock
394                              Decorate 18 DescriptorSet 0
395                              Decorate 18 Binding 1
396                              MemberDecorate 35(gl_DefaultUniformBlock) 0 Offset 0
397                              MemberDecorate 35(gl_DefaultUniformBlock) 1 Offset 16
398                              MemberDecorate 35(gl_DefaultUniformBlock) 2 Offset 24
399                              MemberDecorate 35(gl_DefaultUniformBlock) 3 Offset 32
400                              MemberDecorate 35(gl_DefaultUniformBlock) 4 Offset 48
401                              MemberDecorate 35(gl_DefaultUniformBlock) 5 Offset 64
402                              Decorate 35(gl_DefaultUniformBlock) Block
403                              Decorate 37 DescriptorSet 0
404                              Decorate 37 Binding 0
405                              Decorate 68(o) Location 0
406               2:             TypeVoid
407               3:             TypeFunction 2
408               6:             TypeFloat 32
409               7:             TypeVector 6(float) 4
410               8:             TypeFunction 7(fvec4)
411              13:             TypeInt 32 0
412              14:             TypePointer Function 13(int)
41316(gl_AtomicCounterBlock_0):             TypeStruct 13(int) 13(int) 13(int)
414              17:             TypePointer Uniform 16(gl_AtomicCounterBlock_0)
415              18:     17(ptr) Variable Uniform
416              19:             TypeInt 32 1
417              20:     19(int) Constant 0
418              21:             TypePointer Uniform 13(int)
419              23:     13(int) Constant 1
420              24:     13(int) Constant 0
421              26:     19(int) Constant 1
422              28:     13(int) Constant 4294967295
423              32:             TypePointer Function 7(fvec4)
424              34:             TypeVector 6(float) 2
42535(gl_DefaultUniformBlock):             TypeStruct 7(fvec4) 34(fvec2) 34(fvec2) 7(fvec4) 7(fvec4) 7(fvec4)
426              36:             TypePointer Uniform 35(gl_DefaultUniformBlock)
427              37:     36(ptr) Variable Uniform
428              38:             TypePointer Uniform 7(fvec4)
429              41:             TypePointer Uniform 6(float)
430              46:     19(int) Constant 2
431              53:     19(int) Constant 3
432              57:     19(int) Constant 4
433              67:             TypePointer Output 7(fvec4)
434           68(o):     67(ptr) Variable Output
435              92:     19(int) Constant 5
436         4(main):           2 Function None 3
437               5:             Label
438              69:    7(fvec4) FunctionCall 11(foo()
439              70:    7(fvec4) FunctionCall 9(bar()
440              71:    7(fvec4) FAdd 69 70
441                              Store 68(o) 71
442                              Return
443                              FunctionEnd
444         9(bar():    7(fvec4) Function None 8
445              10:             Label
446           15(j):     14(ptr) Variable Function
447           33(v):     32(ptr) Variable Function
448              22:     21(ptr) AccessChain 18 20
449              25:     13(int) AtomicIAdd 22 23 24 23
450              27:     21(ptr) AccessChain 18 26
451              29:     13(int) AtomicIAdd 27 23 24 28
452              30:     13(int) ISub 29 23
453              31:     13(int) IAdd 25 30
454                              Store 15(j) 31
455              39:     38(ptr) AccessChain 37 20
456              40:    7(fvec4) Load 39
457              42:     41(ptr) AccessChain 37 26 24
458              43:    6(float) Load 42
459              44:     41(ptr) AccessChain 37 26 23
460              45:    6(float) Load 44
461              47:     41(ptr) AccessChain 37 46 24
462              48:    6(float) Load 47
463              49:     41(ptr) AccessChain 37 46 23
464              50:    6(float) Load 49
465              51:    7(fvec4) CompositeConstruct 43 45 48 50
466              52:    7(fvec4) FAdd 40 51
467              54:     38(ptr) AccessChain 37 53
468              55:    7(fvec4) Load 54
469              56:    7(fvec4) FAdd 52 55
470              58:     38(ptr) AccessChain 37 57
471              59:    7(fvec4) Load 58
472              60:    7(fvec4) FAdd 56 59
473                              Store 33(v) 60
474              61:     13(int) Load 15(j)
475              62:    6(float) ConvertUToF 61
476              63:    7(fvec4) Load 33(v)
477              64:    7(fvec4) VectorTimesScalar 63 62
478                              ReturnValue 64
479                              FunctionEnd
480        11(foo():    7(fvec4) Function None 8
481              12:             Label
482           72(j):     14(ptr) Variable Function
483           79(v):     32(ptr) Variable Function
484              73:     21(ptr) AccessChain 18 26
485              74:     13(int) AtomicIAdd 73 23 24 23
486              75:     21(ptr) AccessChain 18 46
487              76:     13(int) AtomicIAdd 75 23 24 28
488              77:     13(int) ISub 76 23
489              78:     13(int) IAdd 74 77
490                              Store 72(j) 78
491              80:     38(ptr) AccessChain 37 20
492              81:    7(fvec4) Load 80
493              82:     41(ptr) AccessChain 37 26 24
494              83:    6(float) Load 82
495              84:     41(ptr) AccessChain 37 26 23
496              85:    6(float) Load 84
497              86:     41(ptr) AccessChain 37 46 24
498              87:    6(float) Load 86
499              88:     41(ptr) AccessChain 37 46 23
500              89:    6(float) Load 88
501              90:    7(fvec4) CompositeConstruct 83 85 87 89
502              91:    7(fvec4) FAdd 81 90
503              93:     38(ptr) AccessChain 37 92
504              94:    7(fvec4) Load 93
505              95:    7(fvec4) FAdd 91 94
506              96:     38(ptr) AccessChain 37 57
507              97:    7(fvec4) Load 96
508              98:    7(fvec4) FAdd 95 97
509                              Store 79(v) 98
510              99:     13(int) Load 72(j)
511             100:    6(float) ConvertUToF 99
512             101:    7(fvec4) Load 79(v)
513             102:    7(fvec4) VectorTimesScalar 101 100
514                              ReturnValue 102
515                              FunctionEnd
516