• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1glsl.450.subgroupVote.comp
2Shader version: 450
3Requested GL_KHR_shader_subgroup_basic
4Requested GL_KHR_shader_subgroup_vote
5local_size = (8, 8, 1)
60:? Sequence
70:16  Function Definition: main( ( global void)
80:16    Function Parameters:
90:18    Sequence
100:18      Sequence
110:18        move second child to first child ( temp uint)
120:18          'invocation' ( temp uint)
130:18          mod ( temp uint)
140:18            add ( temp uint)
150:18              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
160:18              'gl_SubgroupSize' ( in uint SubgroupSize)
170:18            Constant:
180:18              4 (const uint)
190:20      Test condition and select ( temp void)
200:20        Condition
210:20        subgroupAll ( global bool)
220:20          Compare Less Than ( temp bool)
230:20            r: direct index for structure (layout( column_major shared) buffer int)
240:20              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
250:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
260:20                'invocation' ( temp uint)
270:20              Constant:
280:20                4 (const int)
290:20            Constant:
300:20              0 (const int)
310:20        true case
320:22        Sequence
330:22          move second child to first child ( temp int)
340:22            r: direct index for structure (layout( column_major shared) buffer int)
350:22              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
360:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
370:22                'invocation' ( temp uint)
380:22              Constant:
390:22                4 (const int)
400:22            Convert bool to int ( temp int)
410:22              subgroupAllEqual ( global bool)
420:22                direct index ( temp float)
430:22                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
440:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
450:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
460:22                      Constant:
470:22                        0 (const int)
480:22                    Constant:
490:22                      0 (const int)
500:22                  Constant:
510:22                    0 (const int)
520:23          move second child to first child ( temp int)
530:23            r: direct index for structure (layout( column_major shared) buffer int)
540:23              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
550:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
560:23                'invocation' ( temp uint)
570:23              Constant:
580:23                4 (const int)
590:23            Convert bool to int ( temp int)
600:23              subgroupAllEqual ( global bool)
610:23                vector swizzle ( temp 2-component vector of float)
620:23                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
630:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
640:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
650:23                      Constant:
660:23                        1 (const int)
670:23                    Constant:
680:23                      0 (const int)
690:23                  Sequence
700:23                    Constant:
710:23                      0 (const int)
720:23                    Constant:
730:23                      1 (const int)
740:24          move second child to first child ( temp int)
750:24            r: direct index for structure (layout( column_major shared) buffer int)
760:24              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
770:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
780:24                'invocation' ( temp uint)
790:24              Constant:
800:24                4 (const int)
810:24            Convert bool to int ( temp int)
820:24              subgroupAllEqual ( global bool)
830:24                vector swizzle ( temp 3-component vector of float)
840:24                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
850:24                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
860:24                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
870:24                      Constant:
880:24                        2 (const int)
890:24                    Constant:
900:24                      0 (const int)
910:24                  Sequence
920:24                    Constant:
930:24                      0 (const int)
940:24                    Constant:
950:24                      1 (const int)
960:24                    Constant:
970:24                      2 (const int)
980:25          move second child to first child ( temp int)
990:25            r: direct index for structure (layout( column_major shared) buffer int)
1000:25              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1010:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1020:25                'invocation' ( temp uint)
1030:25              Constant:
1040:25                4 (const int)
1050:25            Convert bool to int ( temp int)
1060:25              subgroupAllEqual ( global bool)
1070:25                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
1080:25                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1090:25                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1100:25                    Constant:
1110:25                      3 (const int)
1120:25                  Constant:
1130:25                    0 (const int)
1140:27          move second child to first child ( temp int)
1150:27            r: direct index for structure (layout( column_major shared) buffer int)
1160:27              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1170:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1180:27                'invocation' ( temp uint)
1190:27              Constant:
1200:27                4 (const int)
1210:27            Convert bool to int ( temp int)
1220:27              subgroupAllEqual ( global bool)
1230:27                direct index ( temp int)
1240:27                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
1250:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1260:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1270:27                      Constant:
1280:27                        0 (const int)
1290:27                    Constant:
1300:27                      1 (const int)
1310:27                  Constant:
1320:27                    0 (const int)
1330:28          move second child to first child ( temp int)
1340:28            r: direct index for structure (layout( column_major shared) buffer int)
1350:28              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1360:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1370:28                'invocation' ( temp uint)
1380:28              Constant:
1390:28                4 (const int)
1400:28            Convert bool to int ( temp int)
1410:28              subgroupAllEqual ( global bool)
1420:28                vector swizzle ( temp 2-component vector of int)
1430:28                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
1440:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1450:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1460:28                      Constant:
1470:28                        1 (const int)
1480:28                    Constant:
1490:28                      1 (const int)
1500:28                  Sequence
1510:28                    Constant:
1520:28                      0 (const int)
1530:28                    Constant:
1540:28                      1 (const int)
1550:29          move second child to first child ( temp int)
1560:29            r: direct index for structure (layout( column_major shared) buffer int)
1570:29              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1580:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1590:29                'invocation' ( temp uint)
1600:29              Constant:
1610:29                4 (const int)
1620:29            Convert bool to int ( temp int)
1630:29              subgroupAllEqual ( global bool)
1640:29                vector swizzle ( temp 3-component vector of int)
1650:29                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
1660:29                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1670:29                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1680:29                      Constant:
1690:29                        2 (const int)
1700:29                    Constant:
1710:29                      1 (const int)
1720:29                  Sequence
1730:29                    Constant:
1740:29                      0 (const int)
1750:29                    Constant:
1760:29                      1 (const int)
1770:29                    Constant:
1780:29                      2 (const int)
1790:30          move second child to first child ( temp int)
1800:30            r: direct index for structure (layout( column_major shared) buffer int)
1810:30              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1820:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1830:30                'invocation' ( temp uint)
1840:30              Constant:
1850:30                4 (const int)
1860:30            Convert bool to int ( temp int)
1870:30              subgroupAllEqual ( global bool)
1880:30                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
1890:30                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1900:30                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1910:30                    Constant:
1920:30                      3 (const int)
1930:30                  Constant:
1940:30                    1 (const int)
1950:32          move second child to first child ( temp int)
1960:32            r: direct index for structure (layout( column_major shared) buffer int)
1970:32              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1980:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
1990:32                'invocation' ( temp uint)
2000:32              Constant:
2010:32                4 (const int)
2020:32            Convert bool to int ( temp int)
2030:32              subgroupAllEqual ( global bool)
2040:32                direct index ( temp uint)
2050:32                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
2060:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2070:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2080:32                      Constant:
2090:32                        0 (const int)
2100:32                    Constant:
2110:32                      2 (const int)
2120:32                  Constant:
2130:32                    0 (const int)
2140:33          move second child to first child ( temp int)
2150:33            r: direct index for structure (layout( column_major shared) buffer int)
2160:33              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2170:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2180:33                'invocation' ( temp uint)
2190:33              Constant:
2200:33                4 (const int)
2210:33            Convert bool to int ( temp int)
2220:33              subgroupAllEqual ( global bool)
2230:33                vector swizzle ( temp 2-component vector of uint)
2240:33                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
2250:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2260:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2270:33                      Constant:
2280:33                        1 (const int)
2290:33                    Constant:
2300:33                      2 (const int)
2310:33                  Sequence
2320:33                    Constant:
2330:33                      0 (const int)
2340:33                    Constant:
2350:33                      1 (const int)
2360:34          move second child to first child ( temp int)
2370:34            r: direct index for structure (layout( column_major shared) buffer int)
2380:34              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2390:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2400:34                'invocation' ( temp uint)
2410:34              Constant:
2420:34                4 (const int)
2430:34            Convert bool to int ( temp int)
2440:34              subgroupAllEqual ( global bool)
2450:34                vector swizzle ( temp 3-component vector of uint)
2460:34                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
2470:34                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2480:34                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2490:34                      Constant:
2500:34                        2 (const int)
2510:34                    Constant:
2520:34                      2 (const int)
2530:34                  Sequence
2540:34                    Constant:
2550:34                      0 (const int)
2560:34                    Constant:
2570:34                      1 (const int)
2580:34                    Constant:
2590:34                      2 (const int)
2600:35          move second child to first child ( temp int)
2610:35            r: direct index for structure (layout( column_major shared) buffer int)
2620:35              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2630:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2640:35                'invocation' ( temp uint)
2650:35              Constant:
2660:35                4 (const int)
2670:35            Convert bool to int ( temp int)
2680:35              subgroupAllEqual ( global bool)
2690:35                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
2700:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2710:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2720:35                    Constant:
2730:35                      3 (const int)
2740:35                  Constant:
2750:35                    2 (const int)
2760:20        false case
2770:37        Test condition and select ( temp void)
2780:37          Condition
2790:37          subgroupAny ( global bool)
2800:37            Compare Less Than ( temp bool)
2810:37              r: direct index for structure (layout( column_major shared) buffer int)
2820:37                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2830:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2840:37                  'invocation' ( temp uint)
2850:37                Constant:
2860:37                  4 (const int)
2870:37              Constant:
2880:37                0 (const int)
2890:37          true case
2900:39          Sequence
2910:39            move second child to first child ( temp int)
2920:39              r: direct index for structure (layout( column_major shared) buffer int)
2930:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2940:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
2950:39                  'invocation' ( temp uint)
2960:39                Constant:
2970:39                  4 (const int)
2980:39              Convert bool to int ( temp int)
2990:39                subgroupAllEqual ( global bool)
3000:39                  direct index ( temp double)
3010:39                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
3020:39                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3030:39                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3040:39                        Constant:
3050:39                          0 (const int)
3060:39                      Constant:
3070:39                        3 (const int)
3080:39                    Constant:
3090:39                      0 (const int)
3100:40            move second child to first child ( temp int)
3110:40              r: direct index for structure (layout( column_major shared) buffer int)
3120:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3130:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3140:40                  'invocation' ( temp uint)
3150:40                Constant:
3160:40                  4 (const int)
3170:40              Convert bool to int ( temp int)
3180:40                subgroupAllEqual ( global bool)
3190:40                  vector swizzle ( temp 2-component vector of double)
3200:40                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
3210:40                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3220:40                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3230:40                        Constant:
3240:40                          1 (const int)
3250:40                      Constant:
3260:40                        3 (const int)
3270:40                    Sequence
3280:40                      Constant:
3290:40                        0 (const int)
3300:40                      Constant:
3310:40                        1 (const int)
3320:41            move second child to first child ( temp int)
3330:41              r: direct index for structure (layout( column_major shared) buffer int)
3340:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3350:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3360:41                  'invocation' ( temp uint)
3370:41                Constant:
3380:41                  4 (const int)
3390:41              Convert bool to int ( temp int)
3400:41                subgroupAllEqual ( global bool)
3410:41                  vector swizzle ( temp 3-component vector of double)
3420:41                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
3430:41                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3440:41                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3450:41                        Constant:
3460:41                          2 (const int)
3470:41                      Constant:
3480:41                        3 (const int)
3490:41                    Sequence
3500:41                      Constant:
3510:41                        0 (const int)
3520:41                      Constant:
3530:41                        1 (const int)
3540:41                      Constant:
3550:41                        2 (const int)
3560:42            move second child to first child ( temp int)
3570:42              r: direct index for structure (layout( column_major shared) buffer int)
3580:42                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3590:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3600:42                  'invocation' ( temp uint)
3610:42                Constant:
3620:42                  4 (const int)
3630:42              Convert bool to int ( temp int)
3640:42                subgroupAllEqual ( global bool)
3650:42                  d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
3660:42                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3670:42                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3680:42                      Constant:
3690:42                        3 (const int)
3700:42                    Constant:
3710:42                      3 (const int)
3720:44            move second child to first child ( temp int)
3730:44              r: direct index for structure (layout( column_major shared) buffer int)
3740:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3750:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3760:44                  'invocation' ( temp uint)
3770:44                Constant:
3780:44                  4 (const int)
3790:44              Construct int ( temp int)
3800:44                Convert bool to int ( temp int)
3810:44                  subgroupAllEqual ( global bool)
3820:44                    Compare Less Than ( temp bool)
3830:44                      direct index ( temp int)
3840:44                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
3850:44                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3860:44                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3870:44                            Constant:
3880:44                              0 (const int)
3890:44                          Constant:
3900:44                            1 (const int)
3910:44                        Constant:
3920:44                          0 (const int)
3930:44                      Constant:
3940:44                        0 (const int)
3950:45            move second child to first child ( temp int)
3960:45              r: direct index for structure (layout( column_major shared) buffer int)
3970:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3980:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
3990:45                  'invocation' ( temp uint)
4000:45                Constant:
4010:45                  4 (const int)
4020:45              Construct int ( temp int)
4030:45                Construct ivec2 ( temp 2-component vector of int)
4040:45                  Convert bool to int ( temp int)
4050:45                    subgroupAllEqual ( global bool)
4060:45                      Compare Less Than ( global 2-component vector of bool)
4070:45                        vector swizzle ( temp 2-component vector of int)
4080:45                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
4090:45                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4100:45                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4110:45                              Constant:
4120:45                                1 (const int)
4130:45                            Constant:
4140:45                              1 (const int)
4150:45                          Sequence
4160:45                            Constant:
4170:45                              0 (const int)
4180:45                            Constant:
4190:45                              1 (const int)
4200:45                        Constant:
4210:45                          0 (const int)
4220:45                          0 (const int)
4230:46            move second child to first child ( temp int)
4240:46              r: direct index for structure (layout( column_major shared) buffer int)
4250:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4260:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4270:46                  'invocation' ( temp uint)
4280:46                Constant:
4290:46                  4 (const int)
4300:46              Construct int ( temp int)
4310:46                Construct ivec3 ( temp 3-component vector of int)
4320:46                  Convert bool to int ( temp int)
4330:46                    subgroupAllEqual ( global bool)
4340:46                      Compare Less Than ( global 3-component vector of bool)
4350:46                        vector swizzle ( temp 3-component vector of int)
4360:46                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
4370:46                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4380:46                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4390:46                              Constant:
4400:46                                1 (const int)
4410:46                            Constant:
4420:46                              1 (const int)
4430:46                          Sequence
4440:46                            Constant:
4450:46                              0 (const int)
4460:46                            Constant:
4470:46                              1 (const int)
4480:46                            Constant:
4490:46                              2 (const int)
4500:46                        Constant:
4510:46                          0 (const int)
4520:46                          0 (const int)
4530:46                          0 (const int)
4540:47            move second child to first child ( temp int)
4550:47              r: direct index for structure (layout( column_major shared) buffer int)
4560:47                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4570:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4580:47                  'invocation' ( temp uint)
4590:47                Constant:
4600:47                  4 (const int)
4610:47              Construct int ( temp int)
4620:47                Construct ivec4 ( temp 4-component vector of int)
4630:47                  Convert bool to int ( temp int)
4640:47                    subgroupAllEqual ( global bool)
4650:47                      Compare Less Than ( global 4-component vector of bool)
4660:47                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
4670:47                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4680:47                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
4690:47                            Constant:
4700:47                              1 (const int)
4710:47                          Constant:
4720:47                            1 (const int)
4730:47                        Constant:
4740:47                          0 (const int)
4750:47                          0 (const int)
4760:47                          0 (const int)
4770:47                          0 (const int)
4780:?   Linker Objects
4790:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
4800:?       8 (const uint)
4810:?       8 (const uint)
4820:?       1 (const uint)
4830:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
484
485
486Linked compute stage:
487
488
489Shader version: 450
490Requested GL_KHR_shader_subgroup_basic
491Requested GL_KHR_shader_subgroup_vote
492local_size = (8, 8, 1)
4930:? Sequence
4940:16  Function Definition: main( ( global void)
4950:16    Function Parameters:
4960:18    Sequence
4970:18      Sequence
4980:18        move second child to first child ( temp uint)
4990:18          'invocation' ( temp uint)
5000:18          mod ( temp uint)
5010:18            add ( temp uint)
5020:18              'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
5030:18              'gl_SubgroupSize' ( in uint SubgroupSize)
5040:18            Constant:
5050:18              4 (const uint)
5060:20      Test condition and select ( temp void)
5070:20        Condition
5080:20        subgroupAll ( global bool)
5090:20          Compare Less Than ( temp bool)
5100:20            r: direct index for structure (layout( column_major shared) buffer int)
5110:20              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5120:20                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5130:20                'invocation' ( temp uint)
5140:20              Constant:
5150:20                4 (const int)
5160:20            Constant:
5170:20              0 (const int)
5180:20        true case
5190:22        Sequence
5200:22          move second child to first child ( temp int)
5210:22            r: direct index for structure (layout( column_major shared) buffer int)
5220:22              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5230:22                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5240:22                'invocation' ( temp uint)
5250:22              Constant:
5260:22                4 (const int)
5270:22            Convert bool to int ( temp int)
5280:22              subgroupAllEqual ( global bool)
5290:22                direct index ( temp float)
5300:22                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
5310:22                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5320:22                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5330:22                      Constant:
5340:22                        0 (const int)
5350:22                    Constant:
5360:22                      0 (const int)
5370:22                  Constant:
5380:22                    0 (const int)
5390:23          move second child to first child ( temp int)
5400:23            r: direct index for structure (layout( column_major shared) buffer int)
5410:23              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5420:23                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5430:23                'invocation' ( temp uint)
5440:23              Constant:
5450:23                4 (const int)
5460:23            Convert bool to int ( temp int)
5470:23              subgroupAllEqual ( global bool)
5480:23                vector swizzle ( temp 2-component vector of float)
5490:23                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
5500:23                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5510:23                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5520:23                      Constant:
5530:23                        1 (const int)
5540:23                    Constant:
5550:23                      0 (const int)
5560:23                  Sequence
5570:23                    Constant:
5580:23                      0 (const int)
5590:23                    Constant:
5600:23                      1 (const int)
5610:24          move second child to first child ( temp int)
5620:24            r: direct index for structure (layout( column_major shared) buffer int)
5630:24              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5640:24                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5650:24                'invocation' ( temp uint)
5660:24              Constant:
5670:24                4 (const int)
5680:24            Convert bool to int ( temp int)
5690:24              subgroupAllEqual ( global bool)
5700:24                vector swizzle ( temp 3-component vector of float)
5710:24                  f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
5720:24                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5730:24                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5740:24                      Constant:
5750:24                        2 (const int)
5760:24                    Constant:
5770:24                      0 (const int)
5780:24                  Sequence
5790:24                    Constant:
5800:24                      0 (const int)
5810:24                    Constant:
5820:24                      1 (const int)
5830:24                    Constant:
5840:24                      2 (const int)
5850:25          move second child to first child ( temp int)
5860:25            r: direct index for structure (layout( column_major shared) buffer int)
5870:25              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5880:25                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5890:25                'invocation' ( temp uint)
5900:25              Constant:
5910:25                4 (const int)
5920:25            Convert bool to int ( temp int)
5930:25              subgroupAllEqual ( global bool)
5940:25                f4: direct index for structure (layout( column_major shared) buffer 4-component vector of float)
5950:25                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5960:25                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
5970:25                    Constant:
5980:25                      3 (const int)
5990:25                  Constant:
6000:25                    0 (const int)
6010:27          move second child to first child ( temp int)
6020:27            r: direct index for structure (layout( column_major shared) buffer int)
6030:27              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6040:27                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6050:27                'invocation' ( temp uint)
6060:27              Constant:
6070:27                4 (const int)
6080:27            Convert bool to int ( temp int)
6090:27              subgroupAllEqual ( global bool)
6100:27                direct index ( temp int)
6110:27                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
6120:27                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6130:27                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6140:27                      Constant:
6150:27                        0 (const int)
6160:27                    Constant:
6170:27                      1 (const int)
6180:27                  Constant:
6190:27                    0 (const int)
6200:28          move second child to first child ( temp int)
6210:28            r: direct index for structure (layout( column_major shared) buffer int)
6220:28              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6230:28                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6240:28                'invocation' ( temp uint)
6250:28              Constant:
6260:28                4 (const int)
6270:28            Convert bool to int ( temp int)
6280:28              subgroupAllEqual ( global bool)
6290:28                vector swizzle ( temp 2-component vector of int)
6300:28                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
6310:28                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6320:28                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6330:28                      Constant:
6340:28                        1 (const int)
6350:28                    Constant:
6360:28                      1 (const int)
6370:28                  Sequence
6380:28                    Constant:
6390:28                      0 (const int)
6400:28                    Constant:
6410:28                      1 (const int)
6420:29          move second child to first child ( temp int)
6430:29            r: direct index for structure (layout( column_major shared) buffer int)
6440:29              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6450:29                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6460:29                'invocation' ( temp uint)
6470:29              Constant:
6480:29                4 (const int)
6490:29            Convert bool to int ( temp int)
6500:29              subgroupAllEqual ( global bool)
6510:29                vector swizzle ( temp 3-component vector of int)
6520:29                  i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
6530:29                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6540:29                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6550:29                      Constant:
6560:29                        2 (const int)
6570:29                    Constant:
6580:29                      1 (const int)
6590:29                  Sequence
6600:29                    Constant:
6610:29                      0 (const int)
6620:29                    Constant:
6630:29                      1 (const int)
6640:29                    Constant:
6650:29                      2 (const int)
6660:30          move second child to first child ( temp int)
6670:30            r: direct index for structure (layout( column_major shared) buffer int)
6680:30              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6690:30                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6700:30                'invocation' ( temp uint)
6710:30              Constant:
6720:30                4 (const int)
6730:30            Convert bool to int ( temp int)
6740:30              subgroupAllEqual ( global bool)
6750:30                i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
6760:30                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6770:30                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6780:30                    Constant:
6790:30                      3 (const int)
6800:30                  Constant:
6810:30                    1 (const int)
6820:32          move second child to first child ( temp int)
6830:32            r: direct index for structure (layout( column_major shared) buffer int)
6840:32              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6850:32                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6860:32                'invocation' ( temp uint)
6870:32              Constant:
6880:32                4 (const int)
6890:32            Convert bool to int ( temp int)
6900:32              subgroupAllEqual ( global bool)
6910:32                direct index ( temp uint)
6920:32                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
6930:32                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6940:32                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
6950:32                      Constant:
6960:32                        0 (const int)
6970:32                    Constant:
6980:32                      2 (const int)
6990:32                  Constant:
7000:32                    0 (const int)
7010:33          move second child to first child ( temp int)
7020:33            r: direct index for structure (layout( column_major shared) buffer int)
7030:33              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7040:33                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7050:33                'invocation' ( temp uint)
7060:33              Constant:
7070:33                4 (const int)
7080:33            Convert bool to int ( temp int)
7090:33              subgroupAllEqual ( global bool)
7100:33                vector swizzle ( temp 2-component vector of uint)
7110:33                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
7120:33                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7130:33                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7140:33                      Constant:
7150:33                        1 (const int)
7160:33                    Constant:
7170:33                      2 (const int)
7180:33                  Sequence
7190:33                    Constant:
7200:33                      0 (const int)
7210:33                    Constant:
7220:33                      1 (const int)
7230:34          move second child to first child ( temp int)
7240:34            r: direct index for structure (layout( column_major shared) buffer int)
7250:34              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7260:34                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7270:34                'invocation' ( temp uint)
7280:34              Constant:
7290:34                4 (const int)
7300:34            Convert bool to int ( temp int)
7310:34              subgroupAllEqual ( global bool)
7320:34                vector swizzle ( temp 3-component vector of uint)
7330:34                  u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
7340:34                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7350:34                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7360:34                      Constant:
7370:34                        2 (const int)
7380:34                    Constant:
7390:34                      2 (const int)
7400:34                  Sequence
7410:34                    Constant:
7420:34                      0 (const int)
7430:34                    Constant:
7440:34                      1 (const int)
7450:34                    Constant:
7460:34                      2 (const int)
7470:35          move second child to first child ( temp int)
7480:35            r: direct index for structure (layout( column_major shared) buffer int)
7490:35              indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7500:35                'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7510:35                'invocation' ( temp uint)
7520:35              Constant:
7530:35                4 (const int)
7540:35            Convert bool to int ( temp int)
7550:35              subgroupAllEqual ( global bool)
7560:35                u4: direct index for structure (layout( column_major shared) buffer 4-component vector of uint)
7570:35                  direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7580:35                    'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7590:35                    Constant:
7600:35                      3 (const int)
7610:35                  Constant:
7620:35                    2 (const int)
7630:20        false case
7640:37        Test condition and select ( temp void)
7650:37          Condition
7660:37          subgroupAny ( global bool)
7670:37            Compare Less Than ( temp bool)
7680:37              r: direct index for structure (layout( column_major shared) buffer int)
7690:37                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7700:37                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7710:37                  'invocation' ( temp uint)
7720:37                Constant:
7730:37                  4 (const int)
7740:37              Constant:
7750:37                0 (const int)
7760:37          true case
7770:39          Sequence
7780:39            move second child to first child ( temp int)
7790:39              r: direct index for structure (layout( column_major shared) buffer int)
7800:39                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7810:39                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7820:39                  'invocation' ( temp uint)
7830:39                Constant:
7840:39                  4 (const int)
7850:39              Convert bool to int ( temp int)
7860:39                subgroupAllEqual ( global bool)
7870:39                  direct index ( temp double)
7880:39                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
7890:39                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7900:39                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
7910:39                        Constant:
7920:39                          0 (const int)
7930:39                      Constant:
7940:39                        3 (const int)
7950:39                    Constant:
7960:39                      0 (const int)
7970:40            move second child to first child ( temp int)
7980:40              r: direct index for structure (layout( column_major shared) buffer int)
7990:40                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8000:40                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8010:40                  'invocation' ( temp uint)
8020:40                Constant:
8030:40                  4 (const int)
8040:40              Convert bool to int ( temp int)
8050:40                subgroupAllEqual ( global bool)
8060:40                  vector swizzle ( temp 2-component vector of double)
8070:40                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
8080:40                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8090:40                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8100:40                        Constant:
8110:40                          1 (const int)
8120:40                      Constant:
8130:40                        3 (const int)
8140:40                    Sequence
8150:40                      Constant:
8160:40                        0 (const int)
8170:40                      Constant:
8180:40                        1 (const int)
8190:41            move second child to first child ( temp int)
8200:41              r: direct index for structure (layout( column_major shared) buffer int)
8210:41                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8220:41                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8230:41                  'invocation' ( temp uint)
8240:41                Constant:
8250:41                  4 (const int)
8260:41              Convert bool to int ( temp int)
8270:41                subgroupAllEqual ( global bool)
8280:41                  vector swizzle ( temp 3-component vector of double)
8290:41                    d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
8300:41                      direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8310:41                        'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8320:41                        Constant:
8330:41                          2 (const int)
8340:41                      Constant:
8350:41                        3 (const int)
8360:41                    Sequence
8370:41                      Constant:
8380:41                        0 (const int)
8390:41                      Constant:
8400:41                        1 (const int)
8410:41                      Constant:
8420:41                        2 (const int)
8430:42            move second child to first child ( temp int)
8440:42              r: direct index for structure (layout( column_major shared) buffer int)
8450:42                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8460:42                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8470:42                  'invocation' ( temp uint)
8480:42                Constant:
8490:42                  4 (const int)
8500:42              Convert bool to int ( temp int)
8510:42                subgroupAllEqual ( global bool)
8520:42                  d4: direct index for structure (layout( column_major shared) buffer 4-component vector of double)
8530:42                    direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8540:42                      'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8550:42                      Constant:
8560:42                        3 (const int)
8570:42                    Constant:
8580:42                      3 (const int)
8590:44            move second child to first child ( temp int)
8600:44              r: direct index for structure (layout( column_major shared) buffer int)
8610:44                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8620:44                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8630:44                  'invocation' ( temp uint)
8640:44                Constant:
8650:44                  4 (const int)
8660:44              Construct int ( temp int)
8670:44                Convert bool to int ( temp int)
8680:44                  subgroupAllEqual ( global bool)
8690:44                    Compare Less Than ( temp bool)
8700:44                      direct index ( temp int)
8710:44                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
8720:44                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8730:44                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8740:44                            Constant:
8750:44                              0 (const int)
8760:44                          Constant:
8770:44                            1 (const int)
8780:44                        Constant:
8790:44                          0 (const int)
8800:44                      Constant:
8810:44                        0 (const int)
8820:45            move second child to first child ( temp int)
8830:45              r: direct index for structure (layout( column_major shared) buffer int)
8840:45                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8850:45                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8860:45                  'invocation' ( temp uint)
8870:45                Constant:
8880:45                  4 (const int)
8890:45              Construct int ( temp int)
8900:45                Construct ivec2 ( temp 2-component vector of int)
8910:45                  Convert bool to int ( temp int)
8920:45                    subgroupAllEqual ( global bool)
8930:45                      Compare Less Than ( global 2-component vector of bool)
8940:45                        vector swizzle ( temp 2-component vector of int)
8950:45                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
8960:45                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8970:45                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
8980:45                              Constant:
8990:45                                1 (const int)
9000:45                            Constant:
9010:45                              1 (const int)
9020:45                          Sequence
9030:45                            Constant:
9040:45                              0 (const int)
9050:45                            Constant:
9060:45                              1 (const int)
9070:45                        Constant:
9080:45                          0 (const int)
9090:45                          0 (const int)
9100:46            move second child to first child ( temp int)
9110:46              r: direct index for structure (layout( column_major shared) buffer int)
9120:46                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9130:46                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9140:46                  'invocation' ( temp uint)
9150:46                Constant:
9160:46                  4 (const int)
9170:46              Construct int ( temp int)
9180:46                Construct ivec3 ( temp 3-component vector of int)
9190:46                  Convert bool to int ( temp int)
9200:46                    subgroupAllEqual ( global bool)
9210:46                      Compare Less Than ( global 3-component vector of bool)
9220:46                        vector swizzle ( temp 3-component vector of int)
9230:46                          i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
9240:46                            direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9250:46                              'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9260:46                              Constant:
9270:46                                1 (const int)
9280:46                            Constant:
9290:46                              1 (const int)
9300:46                          Sequence
9310:46                            Constant:
9320:46                              0 (const int)
9330:46                            Constant:
9340:46                              1 (const int)
9350:46                            Constant:
9360:46                              2 (const int)
9370:46                        Constant:
9380:46                          0 (const int)
9390:46                          0 (const int)
9400:46                          0 (const int)
9410:47            move second child to first child ( temp int)
9420:47              r: direct index for structure (layout( column_major shared) buffer int)
9430:47                indirect index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9440:47                  'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9450:47                  'invocation' ( temp uint)
9460:47                Constant:
9470:47                  4 (const int)
9480:47              Construct int ( temp int)
9490:47                Construct ivec4 ( temp 4-component vector of int)
9500:47                  Convert bool to int ( temp int)
9510:47                    subgroupAllEqual ( global bool)
9520:47                      Compare Less Than ( global 4-component vector of bool)
9530:47                        i4: direct index for structure (layout( column_major shared) buffer 4-component vector of int)
9540:47                          direct index (layout( binding=0 column_major shared) temp block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9550:47                            'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
9560:47                            Constant:
9570:47                              1 (const int)
9580:47                          Constant:
9590:47                            1 (const int)
9600:47                        Constant:
9610:47                          0 (const int)
9620:47                          0 (const int)
9630:47                          0 (const int)
9640:47                          0 (const int)
9650:?   Linker Objects
9660:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
9670:?       8 (const uint)
9680:?       8 (const uint)
9690:?       1 (const uint)
9700:?     'data' (layout( binding=0 column_major shared) buffer 4-element array of block{layout( column_major shared) buffer 4-component vector of float f4, layout( column_major shared) buffer 4-component vector of int i4, layout( column_major shared) buffer 4-component vector of uint u4, layout( column_major shared) buffer 4-component vector of double d4, layout( column_major shared) buffer int r})
971
972