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