glsl.460.subgroupEXT.task
ERROR: 0:6: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:7: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:8: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:9: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:10: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:11: 'subgroupMemoryBarrierImage' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:12: 'subgroupElect' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:13: 'gl_NumSubgroups' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:14: 'gl_SubgroupID' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:15: 'subgroupMemoryBarrierShared' : required extension not requested: GL_KHR_shader_subgroup_basic
ERROR: 0:17: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:18: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:19: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
ERROR: 0:21: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:22: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:23: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:24: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:25: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:26: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:27: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:28: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:29: 'subgroupInverseBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:30: 'subgroupBallotBitExtract' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:31: 'subgroupBallotBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:32: 'subgroupBallotInclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:33: 'subgroupBallotExclusiveBitCount' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:34: 'subgroupBallotFindLSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:35: 'subgroupBallotFindMSB' : required extension not requested: GL_KHR_shader_subgroup_ballot
ERROR: 0:37: 'subgroupShuffle' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:38: 'subgroupShuffleXor' : required extension not requested: GL_KHR_shader_subgroup_shuffle
ERROR: 0:39: 'subgroupShuffleUp' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:40: 'subgroupShuffleDown' : required extension not requested: GL_KHR_shader_subgroup_shuffle_relative
ERROR: 0:42: 'subgroupAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:43: 'subgroupMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:44: 'subgroupMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:45: 'subgroupMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:46: 'subgroupAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:47: 'subgroupOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:48: 'subgroupXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:49: 'subgroupInclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:50: 'subgroupInclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:51: 'subgroupInclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:52: 'subgroupInclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:53: 'subgroupInclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:54: 'subgroupInclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:55: 'subgroupInclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:56: 'subgroupExclusiveAdd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:57: 'subgroupExclusiveMul' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:58: 'subgroupExclusiveMin' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:59: 'subgroupExclusiveMax' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:60: 'subgroupExclusiveAnd' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:61: 'subgroupExclusiveOr' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:62: 'subgroupExclusiveXor' : required extension not requested: GL_KHR_shader_subgroup_arithmetic
ERROR: 0:64: 'subgroupClusteredAdd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:65: 'subgroupClusteredMul' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:66: 'subgroupClusteredMin' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:67: 'subgroupClusteredMax' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:68: 'subgroupClusteredAnd' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:69: 'subgroupClusteredOr' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:70: 'subgroupClusteredXor' : required extension not requested: GL_KHR_shader_subgroup_clustered
ERROR: 0:72: 'subgroupQuadBroadcast' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:73: 'subgroupQuadSwapHorizontal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:74: 'subgroupQuadSwapVertical' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 0:75: 'subgroupQuadSwapDiagonal' : required extension not requested: GL_KHR_shader_subgroup_quad
ERROR: 64 compilation errors.  No code generated.


Shader version: 460
Requested GL_EXT_mesh_shader
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:3  Function Definition: undeclared_errors(vf4; ( global 4-component vector of float)
0:3    Function Parameters: 
0:3      'f4' ( in 4-component vector of float)
0:?     Sequence
0:6      'gl_SubgroupSize' ( in uint SubgroupSize)
0:7      'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:8      subgroupBarrier ( global void)
0:9      subgroupMemoryBarrier ( global void)
0:10      subgroupMemoryBarrierBuffer ( global void)
0:11      subgroupMemoryBarrierImage ( global void)
0:12      subgroupElect ( global bool)
0:13      'gl_NumSubgroups' ( in uint NumSubgroups)
0:14      'gl_SubgroupID' ( in uint SubgroupID)
0:15      subgroupMemoryBarrierShared ( global void)
0:17      subgroupAll ( global bool)
0:17        Constant:
0:17          true (const bool)
0:18      subgroupAny ( global bool)
0:18        Constant:
0:18          false (const bool)
0:19      subgroupAllEqual ( global bool)
0:19        'f4' ( in 4-component vector of float)
0:21      'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:22      'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:23      'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:24      'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:25      'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:26      subgroupBroadcast ( global 4-component vector of float)
0:26        'f4' ( in 4-component vector of float)
0:26        Constant:
0:26          0 (const uint)
0:27      subgroupBroadcastFirst ( global 4-component vector of float)
0:27        'f4' ( in 4-component vector of float)
0:28      Sequence
0:28        move second child to first child ( temp 4-component vector of uint)
0:28          'ballot' ( temp 4-component vector of uint)
0:28          subgroupBallot ( global 4-component vector of uint)
0:28            Constant:
0:28              false (const bool)
0:29      subgroupInverseBallot ( global bool)
0:29        Constant:
0:29          1 (const uint)
0:29          1 (const uint)
0:29          1 (const uint)
0:29          1 (const uint)
0:30      subgroupBallotBitExtract ( global bool)
0:30        'ballot' ( temp 4-component vector of uint)
0:30        Constant:
0:30          0 (const uint)
0:31      subgroupBallotBitCount ( global uint)
0:31        'ballot' ( temp 4-component vector of uint)
0:32      subgroupBallotInclusiveBitCount ( global uint)
0:32        'ballot' ( temp 4-component vector of uint)
0:33      subgroupBallotExclusiveBitCount ( global uint)
0:33        'ballot' ( temp 4-component vector of uint)
0:34      subgroupBallotFindLSB ( global uint)
0:34        'ballot' ( temp 4-component vector of uint)
0:35      subgroupBallotFindMSB ( global uint)
0:35        'ballot' ( temp 4-component vector of uint)
0:37      subgroupShuffle ( global 4-component vector of float)
0:37        'f4' ( in 4-component vector of float)
0:37        Constant:
0:37          0 (const uint)
0:38      subgroupShuffleXor ( global 4-component vector of float)
0:38        'f4' ( in 4-component vector of float)
0:38        Constant:
0:38          1 (const uint)
0:39      subgroupShuffleUp ( global 4-component vector of float)
0:39        'f4' ( in 4-component vector of float)
0:39        Constant:
0:39          1 (const uint)
0:40      subgroupShuffleDown ( global 4-component vector of float)
0:40        'f4' ( in 4-component vector of float)
0:40        Constant:
0:40          1 (const uint)
0:42      move second child to first child ( temp 4-component vector of float)
0:42        'result' ( temp 4-component vector of float)
0:42        subgroupAdd ( global 4-component vector of float)
0:42          'f4' ( in 4-component vector of float)
0:43      subgroupMul ( global 4-component vector of float)
0:43        'f4' ( in 4-component vector of float)
0:44      subgroupMin ( global 4-component vector of float)
0:44        'f4' ( in 4-component vector of float)
0:45      subgroupMax ( global 4-component vector of float)
0:45        'f4' ( in 4-component vector of float)
0:46      subgroupAnd ( global 4-component vector of uint)
0:46        'ballot' ( temp 4-component vector of uint)
0:47      subgroupOr ( global 4-component vector of uint)
0:47        'ballot' ( temp 4-component vector of uint)
0:48      subgroupXor ( global 4-component vector of uint)
0:48        'ballot' ( temp 4-component vector of uint)
0:49      subgroupInclusiveAdd ( global 4-component vector of float)
0:49        'f4' ( in 4-component vector of float)
0:50      subgroupInclusiveMul ( global 4-component vector of float)
0:50        'f4' ( in 4-component vector of float)
0:51      subgroupInclusiveMin ( global 4-component vector of float)
0:51        'f4' ( in 4-component vector of float)
0:52      subgroupInclusiveMax ( global 4-component vector of float)
0:52        'f4' ( in 4-component vector of float)
0:53      subgroupInclusiveAnd ( global 4-component vector of uint)
0:53        'ballot' ( temp 4-component vector of uint)
0:54      subgroupInclusiveOr ( global 4-component vector of uint)
0:54        'ballot' ( temp 4-component vector of uint)
0:55      subgroupInclusiveXor ( global 4-component vector of uint)
0:55        'ballot' ( temp 4-component vector of uint)
0:56      subgroupExclusiveAdd ( global 4-component vector of float)
0:56        'f4' ( in 4-component vector of float)
0:57      subgroupExclusiveMul ( global 4-component vector of float)
0:57        'f4' ( in 4-component vector of float)
0:58      subgroupExclusiveMin ( global 4-component vector of float)
0:58        'f4' ( in 4-component vector of float)
0:59      subgroupExclusiveMax ( global 4-component vector of float)
0:59        'f4' ( in 4-component vector of float)
0:60      subgroupExclusiveAnd ( global 4-component vector of uint)
0:60        'ballot' ( temp 4-component vector of uint)
0:61      subgroupExclusiveOr ( global 4-component vector of uint)
0:61        'ballot' ( temp 4-component vector of uint)
0:62      subgroupExclusiveXor ( global 4-component vector of uint)
0:62        'ballot' ( temp 4-component vector of uint)
0:64      subgroupClusteredAdd ( global 4-component vector of float)
0:64        'f4' ( in 4-component vector of float)
0:64        Constant:
0:64          2 (const uint)
0:65      subgroupClusteredMul ( global 4-component vector of float)
0:65        'f4' ( in 4-component vector of float)
0:65        Constant:
0:65          2 (const uint)
0:66      subgroupClusteredMin ( global 4-component vector of float)
0:66        'f4' ( in 4-component vector of float)
0:66        Constant:
0:66          2 (const uint)
0:67      subgroupClusteredMax ( global 4-component vector of float)
0:67        'f4' ( in 4-component vector of float)
0:67        Constant:
0:67          2 (const uint)
0:68      subgroupClusteredAnd ( global 4-component vector of uint)
0:68        'ballot' ( temp 4-component vector of uint)
0:68        Constant:
0:68          2 (const uint)
0:69      subgroupClusteredOr ( global 4-component vector of uint)
0:69        'ballot' ( temp 4-component vector of uint)
0:69        Constant:
0:69          2 (const uint)
0:70      subgroupClusteredXor ( global 4-component vector of uint)
0:70        'ballot' ( temp 4-component vector of uint)
0:70        Constant:
0:70          2 (const uint)
0:72      subgroupQuadBroadcast ( global 4-component vector of float)
0:72        'f4' ( in 4-component vector of float)
0:72        Constant:
0:72          0 (const uint)
0:73      subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:73        'f4' ( in 4-component vector of float)
0:74      subgroupQuadSwapVertical ( global 4-component vector of float)
0:74        'f4' ( in 4-component vector of float)
0:75      subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:75        'f4' ( in 4-component vector of float)
0:77      Branch: Return with expression
0:77        'result' ( temp 4-component vector of float)
0:102  Function Definition: main( ( global void)
0:102    Function Parameters: 
0:104    Sequence
0:104      Sequence
0:104        move second child to first child ( temp uint)
0:104          'iid' ( temp uint)
0:104          direct index ( temp uint)
0:104            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:104            Constant:
0:104              0 (const int)
0:105      Sequence
0:105        move second child to first child ( temp uint)
0:105          'gid' ( temp uint)
0:105          direct index ( temp uint)
0:105            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:105            Constant:
0:105              0 (const int)
0:108      Sequence
0:108        Sequence
0:108          move second child to first child ( temp uint)
0:108            'i' ( temp uint)
0:108            Constant:
0:108              0 (const uint)
0:108        Loop with condition tested first
0:108          Loop Condition
0:108          Compare Less Than ( temp bool)
0:108            'i' ( temp uint)
0:108            Constant:
0:108              10 (const uint)
0:108          Loop Body
0:109          Sequence
0:109            move second child to first child ( temp 4-component vector of float)
0:109              indirect index ( temp 4-component vector of float)
0:109                'mem' ( shared 10-element array of 4-component vector of float)
0:109                'i' ( temp uint)
0:109              Construct vec4 ( temp 4-component vector of float)
0:109                Convert uint to float ( temp float)
0:109                  add ( temp uint)
0:109                    'i' ( temp uint)
0:109                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:109                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:109                      Constant:
0:109                        0 (const uint)
0:108          Loop Terminal Expression
0:108          Pre-Increment ( temp uint)
0:108            'i' ( temp uint)
0:111      imageStore ( global void)
0:111        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:111        Construct ivec2 ( temp 2-component vector of int)
0:111          Convert uint to int ( temp int)
0:111            'iid' ( temp uint)
0:111        indirect index ( temp 4-component vector of float)
0:111          'mem' ( shared 10-element array of 4-component vector of float)
0:111          'gid' ( temp uint)
0:112      imageStore ( global void)
0:112        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:112        Construct ivec2 ( temp 2-component vector of int)
0:112          Convert uint to int ( temp int)
0:112            'iid' ( temp uint)
0:112        indirect index ( temp 4-component vector of float)
0:112          'mem' ( shared 10-element array of 4-component vector of float)
0:112          add ( temp uint)
0:112            'gid' ( temp uint)
0:112            Constant:
0:112              1 (const uint)
0:114      MemoryBarrierShared ( global void)
0:114      Barrier ( global void)
0:118      move second child to first child ( temp 2-component vector of float)
0:118        dummy: direct index for structure ( global 2-component vector of float)
0:118          'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:118          Constant:
0:118            0 (const int)
0:118        Constant:
0:118          30.000000
0:118          31.000000
0:119      move second child to first child ( temp 2-component vector of float)
0:119        direct index ( temp 2-component vector of float)
0:119          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:119            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:119            Constant:
0:119              1 (const int)
0:119          Constant:
0:119            0 (const int)
0:119        Constant:
0:119          32.000000
0:119          33.000000
0:120      move second child to first child ( temp 2-component vector of float)
0:120        direct index ( temp 2-component vector of float)
0:120          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:120            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:120            Constant:
0:120              1 (const int)
0:120          Constant:
0:120            1 (const int)
0:120        Constant:
0:120          34.000000
0:120          35.000000
0:121      move second child to first child ( temp 2-component vector of float)
0:121        direct index ( temp 2-component vector of float)
0:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:121            Constant:
0:121              1 (const int)
0:121          Constant:
0:121            2 (const int)
0:121        indirect index ( temp 2-component vector of float)
0:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:121            Constant:
0:121              1 (const int)
0:121          mod ( temp uint)
0:121            'gid' ( temp uint)
0:121            Constant:
0:121              2 (const uint)
0:123      MemoryBarrierShared ( global void)
0:123      Barrier ( global void)
0:126      EmitMeshTasksEXT ( global void)
0:126        Constant:
0:126          3 (const uint)
0:126        Constant:
0:126          1 (const uint)
0:126        Constant:
0:126          1 (const uint)
0:130  Function Definition: basic_works( ( global void)
0:130    Function Parameters: 
0:132    Sequence
0:132      'gl_SubgroupSize' ( in uint SubgroupSize)
0:133      'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:134      subgroupBarrier ( global void)
0:135      subgroupMemoryBarrier ( global void)
0:136      subgroupMemoryBarrierBuffer ( global void)
0:137      subgroupMemoryBarrierImage ( global void)
0:138      subgroupElect ( global bool)
0:139      'gl_NumSubgroups' ( in uint NumSubgroups)
0:140      'gl_SubgroupID' ( in uint SubgroupID)
0:141      subgroupMemoryBarrierShared ( global void)
0:145  Function Definition: ballot_works(vf4; ( global void)
0:145    Function Parameters: 
0:145      'f4' ( in 4-component vector of float)
0:146    Sequence
0:146      'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:147      'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:148      'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:149      'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:150      'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:151      subgroupBroadcast ( global 4-component vector of float)
0:151        'f4' ( in 4-component vector of float)
0:151        Constant:
0:151          0 (const uint)
0:152      subgroupBroadcastFirst ( global 4-component vector of float)
0:152        'f4' ( in 4-component vector of float)
0:153      Sequence
0:153        move second child to first child ( temp 4-component vector of uint)
0:153          'ballot' ( temp 4-component vector of uint)
0:153          subgroupBallot ( global 4-component vector of uint)
0:153            Constant:
0:153              false (const bool)
0:154      subgroupInverseBallot ( global bool)
0:154        Constant:
0:154          1 (const uint)
0:154          1 (const uint)
0:154          1 (const uint)
0:154          1 (const uint)
0:155      subgroupBallotBitExtract ( global bool)
0:155        'ballot' ( temp 4-component vector of uint)
0:155        Constant:
0:155          0 (const uint)
0:156      subgroupBallotBitCount ( global uint)
0:156        'ballot' ( temp 4-component vector of uint)
0:157      subgroupBallotInclusiveBitCount ( global uint)
0:157        'ballot' ( temp 4-component vector of uint)
0:158      subgroupBallotExclusiveBitCount ( global uint)
0:158        'ballot' ( temp 4-component vector of uint)
0:159      subgroupBallotFindLSB ( global uint)
0:159        'ballot' ( temp 4-component vector of uint)
0:160      subgroupBallotFindMSB ( global uint)
0:160        'ballot' ( temp 4-component vector of uint)
0:164  Function Definition: vote_works(vf4; ( global void)
0:164    Function Parameters: 
0:164      'f4' ( in 4-component vector of float)
0:166    Sequence
0:166      subgroupAll ( global bool)
0:166        Constant:
0:166          true (const bool)
0:167      subgroupAny ( global bool)
0:167        Constant:
0:167          false (const bool)
0:168      subgroupAllEqual ( global bool)
0:168        'f4' ( in 4-component vector of float)
0:173  Function Definition: shuffle_works(vf4; ( global void)
0:173    Function Parameters: 
0:173      'f4' ( in 4-component vector of float)
0:175    Sequence
0:175      subgroupShuffle ( global 4-component vector of float)
0:175        'f4' ( in 4-component vector of float)
0:175        Constant:
0:175          0 (const uint)
0:176      subgroupShuffleXor ( global 4-component vector of float)
0:176        'f4' ( in 4-component vector of float)
0:176        Constant:
0:176          1 (const uint)
0:177      subgroupShuffleUp ( global 4-component vector of float)
0:177        'f4' ( in 4-component vector of float)
0:177        Constant:
0:177          1 (const uint)
0:178      subgroupShuffleDown ( global 4-component vector of float)
0:178        'f4' ( in 4-component vector of float)
0:178        Constant:
0:178          1 (const uint)
0:182  Function Definition: arith_works(vf4; ( global void)
0:182    Function Parameters: 
0:182      'f4' ( in 4-component vector of float)
0:?     Sequence
0:185      subgroupAdd ( global 4-component vector of float)
0:185        'f4' ( in 4-component vector of float)
0:186      subgroupMul ( global 4-component vector of float)
0:186        'f4' ( in 4-component vector of float)
0:187      subgroupMin ( global 4-component vector of float)
0:187        'f4' ( in 4-component vector of float)
0:188      subgroupMax ( global 4-component vector of float)
0:188        'f4' ( in 4-component vector of float)
0:189      subgroupAnd ( global 4-component vector of uint)
0:189        'ballot' ( temp 4-component vector of uint)
0:190      subgroupOr ( global 4-component vector of uint)
0:190        'ballot' ( temp 4-component vector of uint)
0:191      subgroupXor ( global 4-component vector of uint)
0:191        'ballot' ( temp 4-component vector of uint)
0:192      subgroupInclusiveAdd ( global 4-component vector of float)
0:192        'f4' ( in 4-component vector of float)
0:193      subgroupInclusiveMul ( global 4-component vector of float)
0:193        'f4' ( in 4-component vector of float)
0:194      subgroupInclusiveMin ( global 4-component vector of float)
0:194        'f4' ( in 4-component vector of float)
0:195      subgroupInclusiveMax ( global 4-component vector of float)
0:195        'f4' ( in 4-component vector of float)
0:196      subgroupInclusiveAnd ( global 4-component vector of uint)
0:196        'ballot' ( temp 4-component vector of uint)
0:197      subgroupInclusiveOr ( global 4-component vector of uint)
0:197        'ballot' ( temp 4-component vector of uint)
0:198      subgroupInclusiveXor ( global 4-component vector of uint)
0:198        'ballot' ( temp 4-component vector of uint)
0:199      subgroupExclusiveAdd ( global 4-component vector of float)
0:199        'f4' ( in 4-component vector of float)
0:200      subgroupExclusiveMul ( global 4-component vector of float)
0:200        'f4' ( in 4-component vector of float)
0:201      subgroupExclusiveMin ( global 4-component vector of float)
0:201        'f4' ( in 4-component vector of float)
0:202      subgroupExclusiveMax ( global 4-component vector of float)
0:202        'f4' ( in 4-component vector of float)
0:203      subgroupExclusiveAnd ( global 4-component vector of uint)
0:203        'ballot' ( temp 4-component vector of uint)
0:204      subgroupExclusiveOr ( global 4-component vector of uint)
0:204        'ballot' ( temp 4-component vector of uint)
0:205      subgroupExclusiveXor ( global 4-component vector of uint)
0:205        'ballot' ( temp 4-component vector of uint)
0:209  Function Definition: clustered_works(vf4; ( global void)
0:209    Function Parameters: 
0:209      'f4' ( in 4-component vector of float)
0:211    Sequence
0:211      Sequence
0:211        move second child to first child ( temp 4-component vector of uint)
0:211          'ballot' ( temp 4-component vector of uint)
0:211          Constant:
0:211            85 (const uint)
0:211            0 (const uint)
0:211            0 (const uint)
0:211            0 (const uint)
0:212      subgroupClusteredAdd ( global 4-component vector of float)
0:212        'f4' ( in 4-component vector of float)
0:212        Constant:
0:212          2 (const uint)
0:213      subgroupClusteredMul ( global 4-component vector of float)
0:213        'f4' ( in 4-component vector of float)
0:213        Constant:
0:213          2 (const uint)
0:214      subgroupClusteredMin ( global 4-component vector of float)
0:214        'f4' ( in 4-component vector of float)
0:214        Constant:
0:214          2 (const uint)
0:215      subgroupClusteredMax ( global 4-component vector of float)
0:215        'f4' ( in 4-component vector of float)
0:215        Constant:
0:215          2 (const uint)
0:216      subgroupClusteredAnd ( global 4-component vector of uint)
0:216        'ballot' ( temp 4-component vector of uint)
0:216        Constant:
0:216          2 (const uint)
0:217      subgroupClusteredOr ( global 4-component vector of uint)
0:217        'ballot' ( temp 4-component vector of uint)
0:217        Constant:
0:217          2 (const uint)
0:218      subgroupClusteredXor ( global 4-component vector of uint)
0:218        'ballot' ( temp 4-component vector of uint)
0:218        Constant:
0:218          2 (const uint)
0:222  Function Definition: quad_works(vf4; ( global void)
0:222    Function Parameters: 
0:222      'f4' ( in 4-component vector of float)
0:224    Sequence
0:224      subgroupQuadBroadcast ( global 4-component vector of float)
0:224        'f4' ( in 4-component vector of float)
0:224        Constant:
0:224          0 (const uint)
0:225      subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:225        'f4' ( in 4-component vector of float)
0:226      subgroupQuadSwapVertical ( global 4-component vector of float)
0:226        'f4' ( in 4-component vector of float)
0:227      subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:227        'f4' ( in 4-component vector of float)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       32 (const uint)
0:?       1 (const uint)
0:?       1 (const uint)
0:?     'uni_image' (layout( binding=0) writeonly uniform image2D)
0:?     'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:?     'mem' ( shared 10-element array of 4-component vector of float)
0:?     'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})


Linked task stage:


Shader version: 460
Requested GL_EXT_mesh_shader
Requested GL_KHR_shader_subgroup_arithmetic
Requested GL_KHR_shader_subgroup_ballot
Requested GL_KHR_shader_subgroup_basic
Requested GL_KHR_shader_subgroup_clustered
Requested GL_KHR_shader_subgroup_quad
Requested GL_KHR_shader_subgroup_shuffle
Requested GL_KHR_shader_subgroup_shuffle_relative
Requested GL_KHR_shader_subgroup_vote
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:102  Function Definition: main( ( global void)
0:102    Function Parameters: 
0:104    Sequence
0:104      Sequence
0:104        move second child to first child ( temp uint)
0:104          'iid' ( temp uint)
0:104          direct index ( temp uint)
0:104            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:104            Constant:
0:104              0 (const int)
0:105      Sequence
0:105        move second child to first child ( temp uint)
0:105          'gid' ( temp uint)
0:105          direct index ( temp uint)
0:105            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:105            Constant:
0:105              0 (const int)
0:108      Sequence
0:108        Sequence
0:108          move second child to first child ( temp uint)
0:108            'i' ( temp uint)
0:108            Constant:
0:108              0 (const uint)
0:108        Loop with condition tested first
0:108          Loop Condition
0:108          Compare Less Than ( temp bool)
0:108            'i' ( temp uint)
0:108            Constant:
0:108              10 (const uint)
0:108          Loop Body
0:109          Sequence
0:109            move second child to first child ( temp 4-component vector of float)
0:109              indirect index ( temp 4-component vector of float)
0:109                'mem' ( shared 10-element array of 4-component vector of float)
0:109                'i' ( temp uint)
0:109              Construct vec4 ( temp 4-component vector of float)
0:109                Convert uint to float ( temp float)
0:109                  add ( temp uint)
0:109                    'i' ( temp uint)
0:109                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:109                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:109                      Constant:
0:109                        0 (const uint)
0:108          Loop Terminal Expression
0:108          Pre-Increment ( temp uint)
0:108            'i' ( temp uint)
0:111      imageStore ( global void)
0:111        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:111        Construct ivec2 ( temp 2-component vector of int)
0:111          Convert uint to int ( temp int)
0:111            'iid' ( temp uint)
0:111        indirect index ( temp 4-component vector of float)
0:111          'mem' ( shared 10-element array of 4-component vector of float)
0:111          'gid' ( temp uint)
0:112      imageStore ( global void)
0:112        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:112        Construct ivec2 ( temp 2-component vector of int)
0:112          Convert uint to int ( temp int)
0:112            'iid' ( temp uint)
0:112        indirect index ( temp 4-component vector of float)
0:112          'mem' ( shared 10-element array of 4-component vector of float)
0:112          add ( temp uint)
0:112            'gid' ( temp uint)
0:112            Constant:
0:112              1 (const uint)
0:114      MemoryBarrierShared ( global void)
0:114      Barrier ( global void)
0:118      move second child to first child ( temp 2-component vector of float)
0:118        dummy: direct index for structure ( global 2-component vector of float)
0:118          'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:118          Constant:
0:118            0 (const int)
0:118        Constant:
0:118          30.000000
0:118          31.000000
0:119      move second child to first child ( temp 2-component vector of float)
0:119        direct index ( temp 2-component vector of float)
0:119          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:119            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:119            Constant:
0:119              1 (const int)
0:119          Constant:
0:119            0 (const int)
0:119        Constant:
0:119          32.000000
0:119          33.000000
0:120      move second child to first child ( temp 2-component vector of float)
0:120        direct index ( temp 2-component vector of float)
0:120          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:120            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:120            Constant:
0:120              1 (const int)
0:120          Constant:
0:120            1 (const int)
0:120        Constant:
0:120          34.000000
0:120          35.000000
0:121      move second child to first child ( temp 2-component vector of float)
0:121        direct index ( temp 2-component vector of float)
0:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:121            Constant:
0:121              1 (const int)
0:121          Constant:
0:121            2 (const int)
0:121        indirect index ( temp 2-component vector of float)
0:121          submesh: direct index for structure ( global 3-element array of 2-component vector of float)
0:121            'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})
0:121            Constant:
0:121              1 (const int)
0:121          mod ( temp uint)
0:121            'gid' ( temp uint)
0:121            Constant:
0:121              2 (const uint)
0:123      MemoryBarrierShared ( global void)
0:123      Barrier ( global void)
0:126      EmitMeshTasksEXT ( global void)
0:126        Constant:
0:126          3 (const uint)
0:126        Constant:
0:126          1 (const uint)
0:126        Constant:
0:126          1 (const uint)
0:?   Linker Objects
0:?     'gl_WorkGroupSize' ( const 3-component vector of uint WorkGroupSize)
0:?       32 (const uint)
0:?       1 (const uint)
0:?       1 (const uint)
0:?     'uni_image' (layout( binding=0) writeonly uniform image2D)
0:?     'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:?     'mem' ( shared 10-element array of 4-component vector of float)
0:?     'mytask' ( taskPayloadSharedEXT structure{ global 2-component vector of float dummy,  global 3-element array of 2-component vector of float submesh})

