• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1glsl.460.subgroupEXT.task
2ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
3ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
4ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
5ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
6ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
7ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
8ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
9ERROR: 0:13: 'gl_NumSubgroups' : required extension not requested: GL_KHR_shader_subgroup_basic
10ERROR: 0:14: 'gl_SubgroupID' : required extension not requested: GL_KHR_shader_subgroup_basic
11ERROR: 0:15: 'subgroupMemoryBarrierShared' : required extension not requested: GL_KHR_shader_subgroup_basic
12ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
13ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
14ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
15ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
16ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
17ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
18ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
19ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
20ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
21ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
22ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
23ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
24ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
25ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
26ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
27ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
28ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
29ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
30ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
31ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
32ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
33ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
34ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
35ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
36ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
37ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
38ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
39ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
40ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
41ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
42ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
43ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
44ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
45ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
46ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
47ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
48ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
49ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
50ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
51ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
52ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
53ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
54ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
55ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
56ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
57ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
58ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
59ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
60ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
61ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
62ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
63ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
64ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
65ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
66ERROR: 64 compilation errors.  No code generated.
67
68
69Shader version: 460
70Requested GL_EXT_mesh_shader
71Requested GL_KHR_shader_subgroup_arithmetic
72Requested GL_KHR_shader_subgroup_ballot
73Requested GL_KHR_shader_subgroup_basic
74Requested GL_KHR_shader_subgroup_clustered
75Requested GL_KHR_shader_subgroup_quad
76Requested GL_KHR_shader_subgroup_shuffle
77Requested GL_KHR_shader_subgroup_shuffle_relative
78Requested GL_KHR_shader_subgroup_vote
79local_size = (32, 1, 1)
80ERROR: node is still EOpNull!
810:3  Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
820:3    Function Parameters:
830:3      'f4' ( in 4-component vector of float)
840:?     Sequence
850:6      'gl_SubgroupSize' ( in uint SubgroupSize)
860:7      'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
870:8      subgroupBarrier ( global void)
880:9      subgroupMemoryBarrier ( global void)
890:10      subgroupMemoryBarrierBuffer ( global void)
900:11      subgroupMemoryBarrierImage ( global void)
910:12      subgroupElect ( global bool)
920:13      'gl_NumSubgroups' ( in uint NumSubgroups)
930:14      'gl_SubgroupID' ( in uint SubgroupID)
940:15      subgroupMemoryBarrierShared ( global void)
950:17      subgroupAll ( global bool)
960:17        Constant:
970:17          true (const bool)
980:18      subgroupAny ( global bool)
990:18        Constant:
1000:18          false (const bool)
1010:19      subgroupAllEqual ( global bool)
1020:19        'f4' ( in 4-component vector of float)
1030:21      'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
1040:22      'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
1050:23      'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
1060:24      'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
1070:25      'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
1080:26      subgroupBroadcast ( global 4-component vector of float)
1090:26        'f4' ( in 4-component vector of float)
1100:26        Constant:
1110:26          0 (const uint)
1120:27      subgroupBroadcastFirst ( global 4-component vector of float)
1130:27        'f4' ( in 4-component vector of float)
1140:28      Sequence
1150:28        move second child to first child ( temp 4-component vector of uint)
1160:28          'ballot' ( temp 4-component vector of uint)
1170:28          subgroupBallot ( global 4-component vector of uint)
1180:28            Constant:
1190:28              false (const bool)
1200:29      subgroupInverseBallot ( global bool)
1210:29        Constant:
1220:29          1 (const uint)
1230:29          1 (const uint)
1240:29          1 (const uint)
1250:29          1 (const uint)
1260:30      subgroupBallotBitExtract ( global bool)
1270:30        'ballot' ( temp 4-component vector of uint)
1280:30        Constant:
1290:30          0 (const uint)
1300:31      subgroupBallotBitCount ( global uint)
1310:31        'ballot' ( temp 4-component vector of uint)
1320:32      subgroupBallotInclusiveBitCount ( global uint)
1330:32        'ballot' ( temp 4-component vector of uint)
1340:33      subgroupBallotExclusiveBitCount ( global uint)
1350:33        'ballot' ( temp 4-component vector of uint)
1360:34      subgroupBallotFindLSB ( global uint)
1370:34        'ballot' ( temp 4-component vector of uint)
1380:35      subgroupBallotFindMSB ( global uint)
1390:35        'ballot' ( temp 4-component vector of uint)
1400:37      subgroupShuffle ( global 4-component vector of float)
1410:37        'f4' ( in 4-component vector of float)
1420:37        Constant:
1430:37          0 (const uint)
1440:38      subgroupShuffleXor ( global 4-component vector of float)
1450:38        'f4' ( in 4-component vector of float)
1460:38        Constant:
1470:38          1 (const uint)
1480:39      subgroupShuffleUp ( global 4-component vector of float)
1490:39        'f4' ( in 4-component vector of float)
1500:39        Constant:
1510:39          1 (const uint)
1520:40      subgroupShuffleDown ( global 4-component vector of float)
1530:40        'f4' ( in 4-component vector of float)
1540:40        Constant:
1550:40          1 (const uint)
1560:42      move second child to first child ( temp 4-component vector of float)
1570:42        'result' ( temp 4-component vector of float)
1580:42        subgroupAdd ( global 4-component vector of float)
1590:42          'f4' ( in 4-component vector of float)
1600:43      subgroupMul ( global 4-component vector of float)
1610:43        'f4' ( in 4-component vector of float)
1620:44      subgroupMin ( global 4-component vector of float)
1630:44        'f4' ( in 4-component vector of float)
1640:45      subgroupMax ( global 4-component vector of float)
1650:45        'f4' ( in 4-component vector of float)
1660:46      subgroupAnd ( global 4-component vector of uint)
1670:46        'ballot' ( temp 4-component vector of uint)
1680:47      subgroupOr ( global 4-component vector of uint)
1690:47        'ballot' ( temp 4-component vector of uint)
1700:48      subgroupXor ( global 4-component vector of uint)
1710:48        'ballot' ( temp 4-component vector of uint)
1720:49      subgroupInclusiveAdd ( global 4-component vector of float)
1730:49        'f4' ( in 4-component vector of float)
1740:50      subgroupInclusiveMul ( global 4-component vector of float)
1750:50        'f4' ( in 4-component vector of float)
1760:51      subgroupInclusiveMin ( global 4-component vector of float)
1770:51        'f4' ( in 4-component vector of float)
1780:52      subgroupInclusiveMax ( global 4-component vector of float)
1790:52        'f4' ( in 4-component vector of float)
1800:53      subgroupInclusiveAnd ( global 4-component vector of uint)
1810:53        'ballot' ( temp 4-component vector of uint)
1820:54      subgroupInclusiveOr ( global 4-component vector of uint)
1830:54        'ballot' ( temp 4-component vector of uint)
1840:55      subgroupInclusiveXor ( global 4-component vector of uint)
1850:55        'ballot' ( temp 4-component vector of uint)
1860:56      subgroupExclusiveAdd ( global 4-component vector of float)
1870:56        'f4' ( in 4-component vector of float)
1880:57      subgroupExclusiveMul ( global 4-component vector of float)
1890:57        'f4' ( in 4-component vector of float)
1900:58      subgroupExclusiveMin ( global 4-component vector of float)
1910:58        'f4' ( in 4-component vector of float)
1920:59      subgroupExclusiveMax ( global 4-component vector of float)
1930:59        'f4' ( in 4-component vector of float)
1940:60      subgroupExclusiveAnd ( global 4-component vector of uint)
1950:60        'ballot' ( temp 4-component vector of uint)
1960:61      subgroupExclusiveOr ( global 4-component vector of uint)
1970:61        'ballot' ( temp 4-component vector of uint)
1980:62      subgroupExclusiveXor ( global 4-component vector of uint)
1990:62        'ballot' ( temp 4-component vector of uint)
2000:64      subgroupClusteredAdd ( global 4-component vector of float)
2010:64        'f4' ( in 4-component vector of float)
2020:64        Constant:
2030:64          2 (const uint)
2040:65      subgroupClusteredMul ( global 4-component vector of float)
2050:65        'f4' ( in 4-component vector of float)
2060:65        Constant:
2070:65          2 (const uint)
2080:66      subgroupClusteredMin ( global 4-component vector of float)
2090:66        'f4' ( in 4-component vector of float)
2100:66        Constant:
2110:66          2 (const uint)
2120:67      subgroupClusteredMax ( global 4-component vector of float)
2130:67        'f4' ( in 4-component vector of float)
2140:67        Constant:
2150:67          2 (const uint)
2160:68      subgroupClusteredAnd ( global 4-component vector of uint)
2170:68        'ballot' ( temp 4-component vector of uint)
2180:68        Constant:
2190:68          2 (const uint)
2200:69      subgroupClusteredOr ( global 4-component vector of uint)
2210:69        'ballot' ( temp 4-component vector of uint)
2220:69        Constant:
2230:69          2 (const uint)
2240:70      subgroupClusteredXor ( global 4-component vector of uint)
2250:70        'ballot' ( temp 4-component vector of uint)
2260:70        Constant:
2270:70          2 (const uint)
2280:72      subgroupQuadBroadcast ( global 4-component vector of float)
2290:72        'f4' ( in 4-component vector of float)
2300:72        Constant:
2310:72          0 (const uint)
2320:73      subgroupQuadSwapHorizontal ( global 4-component vector of float)
2330:73        'f4' ( in 4-component vector of float)
2340:74      subgroupQuadSwapVertical ( global 4-component vector of float)
2350:74        'f4' ( in 4-component vector of float)
2360:75      subgroupQuadSwapDiagonal ( global 4-component vector of float)
2370:75        'f4' ( in 4-component vector of float)
2380:77      Branch: Return with expression
2390:77        'result' ( temp 4-component vector of float)
2400:102  Function Definition: main( ( global void)
2410:102    Function Parameters:
2420:104    Sequence
2430:104      Sequence
2440:104        move second child to first child ( temp uint)
2450:104          'iid' ( temp uint)
2460:104          direct index ( temp uint)
2470:104            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
2480:104            Constant:
2490:104              0 (const int)
2500:105      Sequence
2510:105        move second child to first child ( temp uint)
2520:105          'gid' ( temp uint)
2530:105          direct index ( temp uint)
2540:105            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
2550:105            Constant:
2560:105              0 (const int)
2570:108      Sequence
2580:108        Sequence
2590:108          move second child to first child ( temp uint)
2600:108            'i' ( temp uint)
2610:108            Constant:
2620:108              0 (const uint)
2630:108        Loop with condition tested first
2640:108          Loop Condition
2650:108          Compare Less Than ( temp bool)
2660:108            'i' ( temp uint)
2670:108            Constant:
2680:108              10 (const uint)
2690:108          Loop Body
2700:109          Sequence
2710:109            move second child to first child ( temp 4-component vector of float)
2720:109              indirect index ( temp 4-component vector of float)
2730:109                'mem' ( shared 10-element array of 4-component vector of float)
2740:109                'i' ( temp uint)
2750:109              Construct vec4 ( temp 4-component vector of float)
2760:109                Convert uint to float ( temp float)
2770:109                  add ( temp uint)
2780:109                    'i' ( temp uint)
2790:109                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
2800:109                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
2810:109                      Constant:
2820:109                        0 (const uint)
2830:108          Loop Terminal Expression
2840:108          Pre-Increment ( temp uint)
2850:108            'i' ( temp uint)
2860:111      imageStore ( global void)
2870:111        'uni_image' (layout( binding=0) writeonly uniform image2D)
2880:111        Construct ivec2 ( temp 2-component vector of int)
2890:111          Convert uint to int ( temp int)
2900:111            'iid' ( temp uint)
2910:111        indirect index ( temp 4-component vector of float)
2920:111          'mem' ( shared 10-element array of 4-component vector of float)
2930:111          'gid' ( temp uint)
2940:112      imageStore ( global void)
2950:112        'uni_image' (layout( binding=0) writeonly uniform image2D)
2960:112        Construct ivec2 ( temp 2-component vector of int)
2970:112          Convert uint to int ( temp int)
2980:112            'iid' ( temp uint)
2990:112        indirect index ( temp 4-component vector of float)
3000:112          'mem' ( shared 10-element array of 4-component vector of float)
3010:112          add ( temp uint)
3020:112            'gid' ( temp uint)
3030:112            Constant:
3040:112              1 (const uint)
3050:114      MemoryBarrierShared ( global void)
3060:114      Barrier ( global void)
3070:118      move second child to first child ( temp 2-component vector of float)
3080:118        dummy: direct index for structure ( global 2-component vector of float)
3090:118          'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
3100:118          Constant:
3110:118            0 (const int)
3120:118        Constant:
3130:118          30.000000
3140:118          31.000000
3150:119      move second child to first child ( temp 2-component vector of float)
3160:119        direct index ( temp 2-component vector of float)
3170:119          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
3180:119            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
3190:119            Constant:
3200:119              1 (const int)
3210:119          Constant:
3220:119            0 (const int)
3230:119        Constant:
3240:119          32.000000
3250:119          33.000000
3260:120      move second child to first child ( temp 2-component vector of float)
3270:120        direct index ( temp 2-component vector of float)
3280:120          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
3290:120            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
3300:120            Constant:
3310:120              1 (const int)
3320:120          Constant:
3330:120            1 (const int)
3340:120        Constant:
3350:120          34.000000
3360:120          35.000000
3370:121      move second child to first child ( temp 2-component vector of float)
3380:121        direct index ( temp 2-component vector of float)
3390:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
3400:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
3410:121            Constant:
3420:121              1 (const int)
3430:121          Constant:
3440:121            2 (const int)
3450:121        indirect index ( temp 2-component vector of float)
3460:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
3470:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
3480:121            Constant:
3490:121              1 (const int)
3500:121          mod ( temp uint)
3510:121            'gid' ( temp uint)
3520:121            Constant:
3530:121              2 (const uint)
3540:123      MemoryBarrierShared ( global void)
3550:123      Barrier ( global void)
3560:126      EmitMeshTasksEXT ( global void)
3570:126        Constant:
3580:126          3 (const uint)
3590:126        Constant:
3600:126          1 (const uint)
3610:126        Constant:
3620:126          1 (const uint)
3630:130  Function Definition: basic_works( ( global void)
3640:130    Function Parameters:
3650:132    Sequence
3660:132      'gl_SubgroupSize' ( in uint SubgroupSize)
3670:133      'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
3680:134      subgroupBarrier ( global void)
3690:135      subgroupMemoryBarrier ( global void)
3700:136      subgroupMemoryBarrierBuffer ( global void)
3710:137      subgroupMemoryBarrierImage ( global void)
3720:138      subgroupElect ( global bool)
3730:139      'gl_NumSubgroups' ( in uint NumSubgroups)
3740:140      'gl_SubgroupID' ( in uint SubgroupID)
3750:141      subgroupMemoryBarrierShared ( global void)
3760:145  Function Definition: ballot_works(vf4; ( global void)
3770:145    Function Parameters:
3780:145      'f4' ( in 4-component vector of float)
3790:146    Sequence
3800:146      'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
3810:147      'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
3820:148      'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
3830:149      'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
3840:150      'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
3850:151      subgroupBroadcast ( global 4-component vector of float)
3860:151        'f4' ( in 4-component vector of float)
3870:151        Constant:
3880:151          0 (const uint)
3890:152      subgroupBroadcastFirst ( global 4-component vector of float)
3900:152        'f4' ( in 4-component vector of float)
3910:153      Sequence
3920:153        move second child to first child ( temp 4-component vector of uint)
3930:153          'ballot' ( temp 4-component vector of uint)
3940:153          subgroupBallot ( global 4-component vector of uint)
3950:153            Constant:
3960:153              false (const bool)
3970:154      subgroupInverseBallot ( global bool)
3980:154        Constant:
3990:154          1 (const uint)
4000:154          1 (const uint)
4010:154          1 (const uint)
4020:154          1 (const uint)
4030:155      subgroupBallotBitExtract ( global bool)
4040:155        'ballot' ( temp 4-component vector of uint)
4050:155        Constant:
4060:155          0 (const uint)
4070:156      subgroupBallotBitCount ( global uint)
4080:156        'ballot' ( temp 4-component vector of uint)
4090:157      subgroupBallotInclusiveBitCount ( global uint)
4100:157        'ballot' ( temp 4-component vector of uint)
4110:158      subgroupBallotExclusiveBitCount ( global uint)
4120:158        'ballot' ( temp 4-component vector of uint)
4130:159      subgroupBallotFindLSB ( global uint)
4140:159        'ballot' ( temp 4-component vector of uint)
4150:160      subgroupBallotFindMSB ( global uint)
4160:160        'ballot' ( temp 4-component vector of uint)
4170:164  Function Definition: vote_works(vf4; ( global void)
4180:164    Function Parameters:
4190:164      'f4' ( in 4-component vector of float)
4200:166    Sequence
4210:166      subgroupAll ( global bool)
4220:166        Constant:
4230:166          true (const bool)
4240:167      subgroupAny ( global bool)
4250:167        Constant:
4260:167          false (const bool)
4270:168      subgroupAllEqual ( global bool)
4280:168        'f4' ( in 4-component vector of float)
4290:173  Function Definition: shuffle_works(vf4; ( global void)
4300:173    Function Parameters:
4310:173      'f4' ( in 4-component vector of float)
4320:175    Sequence
4330:175      subgroupShuffle ( global 4-component vector of float)
4340:175        'f4' ( in 4-component vector of float)
4350:175        Constant:
4360:175          0 (const uint)
4370:176      subgroupShuffleXor ( global 4-component vector of float)
4380:176        'f4' ( in 4-component vector of float)
4390:176        Constant:
4400:176          1 (const uint)
4410:177      subgroupShuffleUp ( global 4-component vector of float)
4420:177        'f4' ( in 4-component vector of float)
4430:177        Constant:
4440:177          1 (const uint)
4450:178      subgroupShuffleDown ( global 4-component vector of float)
4460:178        'f4' ( in 4-component vector of float)
4470:178        Constant:
4480:178          1 (const uint)
4490:182  Function Definition: arith_works(vf4; ( global void)
4500:182    Function Parameters:
4510:182      'f4' ( in 4-component vector of float)
4520:?     Sequence
4530:185      subgroupAdd ( global 4-component vector of float)
4540:185        'f4' ( in 4-component vector of float)
4550:186      subgroupMul ( global 4-component vector of float)
4560:186        'f4' ( in 4-component vector of float)
4570:187      subgroupMin ( global 4-component vector of float)
4580:187        'f4' ( in 4-component vector of float)
4590:188      subgroupMax ( global 4-component vector of float)
4600:188        'f4' ( in 4-component vector of float)
4610:189      subgroupAnd ( global 4-component vector of uint)
4620:189        'ballot' ( temp 4-component vector of uint)
4630:190      subgroupOr ( global 4-component vector of uint)
4640:190        'ballot' ( temp 4-component vector of uint)
4650:191      subgroupXor ( global 4-component vector of uint)
4660:191        'ballot' ( temp 4-component vector of uint)
4670:192      subgroupInclusiveAdd ( global 4-component vector of float)
4680:192        'f4' ( in 4-component vector of float)
4690:193      subgroupInclusiveMul ( global 4-component vector of float)
4700:193        'f4' ( in 4-component vector of float)
4710:194      subgroupInclusiveMin ( global 4-component vector of float)
4720:194        'f4' ( in 4-component vector of float)
4730:195      subgroupInclusiveMax ( global 4-component vector of float)
4740:195        'f4' ( in 4-component vector of float)
4750:196      subgroupInclusiveAnd ( global 4-component vector of uint)
4760:196        'ballot' ( temp 4-component vector of uint)
4770:197      subgroupInclusiveOr ( global 4-component vector of uint)
4780:197        'ballot' ( temp 4-component vector of uint)
4790:198      subgroupInclusiveXor ( global 4-component vector of uint)
4800:198        'ballot' ( temp 4-component vector of uint)
4810:199      subgroupExclusiveAdd ( global 4-component vector of float)
4820:199        'f4' ( in 4-component vector of float)
4830:200      subgroupExclusiveMul ( global 4-component vector of float)
4840:200        'f4' ( in 4-component vector of float)
4850:201      subgroupExclusiveMin ( global 4-component vector of float)
4860:201        'f4' ( in 4-component vector of float)
4870:202      subgroupExclusiveMax ( global 4-component vector of float)
4880:202        'f4' ( in 4-component vector of float)
4890:203      subgroupExclusiveAnd ( global 4-component vector of uint)
4900:203        'ballot' ( temp 4-component vector of uint)
4910:204      subgroupExclusiveOr ( global 4-component vector of uint)
4920:204        'ballot' ( temp 4-component vector of uint)
4930:205      subgroupExclusiveXor ( global 4-component vector of uint)
4940:205        'ballot' ( temp 4-component vector of uint)
4950:209  Function Definition: clustered_works(vf4; ( global void)
4960:209    Function Parameters:
4970:209      'f4' ( in 4-component vector of float)
4980:211    Sequence
4990:211      Sequence
5000:211        move second child to first child ( temp 4-component vector of uint)
5010:211          'ballot' ( temp 4-component vector of uint)
5020:211          Constant:
5030:211            85 (const uint)
5040:211            0 (const uint)
5050:211            0 (const uint)
5060:211            0 (const uint)
5070:212      subgroupClusteredAdd ( global 4-component vector of float)
5080:212        'f4' ( in 4-component vector of float)
5090:212        Constant:
5100:212          2 (const uint)
5110:213      subgroupClusteredMul ( global 4-component vector of float)
5120:213        'f4' ( in 4-component vector of float)
5130:213        Constant:
5140:213          2 (const uint)
5150:214      subgroupClusteredMin ( global 4-component vector of float)
5160:214        'f4' ( in 4-component vector of float)
5170:214        Constant:
5180:214          2 (const uint)
5190:215      subgroupClusteredMax ( global 4-component vector of float)
5200:215        'f4' ( in 4-component vector of float)
5210:215        Constant:
5220:215          2 (const uint)
5230:216      subgroupClusteredAnd ( global 4-component vector of uint)
5240:216        'ballot' ( temp 4-component vector of uint)
5250:216        Constant:
5260:216          2 (const uint)
5270:217      subgroupClusteredOr ( global 4-component vector of uint)
5280:217        'ballot' ( temp 4-component vector of uint)
5290:217        Constant:
5300:217          2 (const uint)
5310:218      subgroupClusteredXor ( global 4-component vector of uint)
5320:218        'ballot' ( temp 4-component vector of uint)
5330:218        Constant:
5340:218          2 (const uint)
5350:222  Function Definition: quad_works(vf4; ( global void)
5360:222    Function Parameters:
5370:222      'f4' ( in 4-component vector of float)
5380:224    Sequence
5390:224      subgroupQuadBroadcast ( global 4-component vector of float)
5400:224        'f4' ( in 4-component vector of float)
5410:224        Constant:
5420:224          0 (const uint)
5430:225      subgroupQuadSwapHorizontal ( global 4-component vector of float)
5440:225        'f4' ( in 4-component vector of float)
5450:226      subgroupQuadSwapVertical ( global 4-component vector of float)
5460:226        'f4' ( in 4-component vector of float)
5470:227      subgroupQuadSwapDiagonal ( global 4-component vector of float)
5480:227        'f4' ( in 4-component vector of float)
5490:?   Linker Objects
5500:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
5510:?       32 (const uint)
5520:?       1 (const uint)
5530:?       1 (const uint)
5540:?     'uni_image' (layout( binding=0) writeonly uniform image2D)
5550:?     'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
5560:?     'mem' ( shared 10-element array of 4-component vector of float)
5570:?     'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
558
559
560Linked task stage:
561
562
563Shader version: 460
564Requested GL_EXT_mesh_shader
565Requested GL_KHR_shader_subgroup_arithmetic
566Requested GL_KHR_shader_subgroup_ballot
567Requested GL_KHR_shader_subgroup_basic
568Requested GL_KHR_shader_subgroup_clustered
569Requested GL_KHR_shader_subgroup_quad
570Requested GL_KHR_shader_subgroup_shuffle
571Requested GL_KHR_shader_subgroup_shuffle_relative
572Requested GL_KHR_shader_subgroup_vote
573local_size = (32, 1, 1)
574ERROR: node is still EOpNull!
5750:102  Function Definition: main( ( global void)
5760:102    Function Parameters:
5770:104    Sequence
5780:104      Sequence
5790:104        move second child to first child ( temp uint)
5800:104          'iid' ( temp uint)
5810:104          direct index ( temp uint)
5820:104            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
5830:104            Constant:
5840:104              0 (const int)
5850:105      Sequence
5860:105        move second child to first child ( temp uint)
5870:105          'gid' ( temp uint)
5880:105          direct index ( temp uint)
5890:105            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
5900:105            Constant:
5910:105              0 (const int)
5920:108      Sequence
5930:108        Sequence
5940:108          move second child to first child ( temp uint)
5950:108            'i' ( temp uint)
5960:108            Constant:
5970:108              0 (const uint)
5980:108        Loop with condition tested first
5990:108          Loop Condition
6000:108          Compare Less Than ( temp bool)
6010:108            'i' ( temp uint)
6020:108            Constant:
6030:108              10 (const uint)
6040:108          Loop Body
6050:109          Sequence
6060:109            move second child to first child ( temp 4-component vector of float)
6070:109              indirect index ( temp 4-component vector of float)
6080:109                'mem' ( shared 10-element array of 4-component vector of float)
6090:109                'i' ( temp uint)
6100:109              Construct vec4 ( temp 4-component vector of float)
6110:109                Convert uint to float ( temp float)
6120:109                  add ( temp uint)
6130:109                    'i' ( temp uint)
6140:109                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
6150:109                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
6160:109                      Constant:
6170:109                        0 (const uint)
6180:108          Loop Terminal Expression
6190:108          Pre-Increment ( temp uint)
6200:108            'i' ( temp uint)
6210:111      imageStore ( global void)
6220:111        'uni_image' (layout( binding=0) writeonly uniform image2D)
6230:111        Construct ivec2 ( temp 2-component vector of int)
6240:111          Convert uint to int ( temp int)
6250:111            'iid' ( temp uint)
6260:111        indirect index ( temp 4-component vector of float)
6270:111          'mem' ( shared 10-element array of 4-component vector of float)
6280:111          'gid' ( temp uint)
6290:112      imageStore ( global void)
6300:112        'uni_image' (layout( binding=0) writeonly uniform image2D)
6310:112        Construct ivec2 ( temp 2-component vector of int)
6320:112          Convert uint to int ( temp int)
6330:112            'iid' ( temp uint)
6340:112        indirect index ( temp 4-component vector of float)
6350:112          'mem' ( shared 10-element array of 4-component vector of float)
6360:112          add ( temp uint)
6370:112            'gid' ( temp uint)
6380:112            Constant:
6390:112              1 (const uint)
6400:114      MemoryBarrierShared ( global void)
6410:114      Barrier ( global void)
6420:118      move second child to first child ( temp 2-component vector of float)
6430:118        dummy: direct index for structure ( global 2-component vector of float)
6440:118          'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
6450:118          Constant:
6460:118            0 (const int)
6470:118        Constant:
6480:118          30.000000
6490:118          31.000000
6500:119      move second child to first child ( temp 2-component vector of float)
6510:119        direct index ( temp 2-component vector of float)
6520:119          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
6530:119            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
6540:119            Constant:
6550:119              1 (const int)
6560:119          Constant:
6570:119            0 (const int)
6580:119        Constant:
6590:119          32.000000
6600:119          33.000000
6610:120      move second child to first child ( temp 2-component vector of float)
6620:120        direct index ( temp 2-component vector of float)
6630:120          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
6640:120            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
6650:120            Constant:
6660:120              1 (const int)
6670:120          Constant:
6680:120            1 (const int)
6690:120        Constant:
6700:120          34.000000
6710:120          35.000000
6720:121      move second child to first child ( temp 2-component vector of float)
6730:121        direct index ( temp 2-component vector of float)
6740:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
6750:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
6760:121            Constant:
6770:121              1 (const int)
6780:121          Constant:
6790:121            2 (const int)
6800:121        indirect index ( temp 2-component vector of float)
6810:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
6820:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
6830:121            Constant:
6840:121              1 (const int)
6850:121          mod ( temp uint)
6860:121            'gid' ( temp uint)
6870:121            Constant:
6880:121              2 (const uint)
6890:123      MemoryBarrierShared ( global void)
6900:123      Barrier ( global void)
6910:126      EmitMeshTasksEXT ( global void)
6920:126        Constant:
6930:126          3 (const uint)
6940:126        Constant:
6950:126          1 (const uint)
6960:126        Constant:
6970:126          1 (const uint)
6980:?   Linker Objects
6990:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
7000:?       32 (const uint)
7010:?       1 (const uint)
7020:?       1 (const uint)
7030:?     'uni_image' (layout( binding=0) writeonly uniform image2D)
7040:?     'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
7050:?     'mem' ( shared 10-element array of 4-component vector of float)
7060:?     'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
707
708