glsl.460.subgroup.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: 0:77: 'subgroupPartitionNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:78: 'subgroupPartitionedAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:79: 'subgroupPartitionedMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:80: 'subgroupPartitionedMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:81: 'subgroupPartitionedMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:82: 'subgroupPartitionedAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:83: 'subgroupPartitionedOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:84: 'subgroupPartitionedXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:85: 'subgroupPartitionedInclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:86: 'subgroupPartitionedInclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:87: 'subgroupPartitionedInclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:88: 'subgroupPartitionedInclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:89: 'subgroupPartitionedInclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:90: 'subgroupPartitionedInclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:91: 'subgroupPartitionedInclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:92: 'subgroupPartitionedExclusiveAddNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:93: 'subgroupPartitionedExclusiveMulNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:94: 'subgroupPartitionedExclusiveMinNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:288: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:289: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:290: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:291: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors.  No code generated.


Shader version: 460
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
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
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      Sequence
0:77        move second child to first child ( temp 4-component vector of uint)
0:77          'parti' ( temp 4-component vector of uint)
0:77          subgroupPartitionNV ( global 4-component vector of uint)
0:77            'f4' ( in 4-component vector of float)
0:78      subgroupPartitionedAddNV ( global 4-component vector of float)
0:78        'f4' ( in 4-component vector of float)
0:78        'parti' ( temp 4-component vector of uint)
0:79      subgroupPartitionedMulNV ( global 4-component vector of float)
0:79        'f4' ( in 4-component vector of float)
0:79        'parti' ( temp 4-component vector of uint)
0:80      subgroupPartitionedMinNV ( global 4-component vector of float)
0:80        'f4' ( in 4-component vector of float)
0:80        'parti' ( temp 4-component vector of uint)
0:81      subgroupPartitionedMaxNV ( global 4-component vector of float)
0:81        'f4' ( in 4-component vector of float)
0:81        'parti' ( temp 4-component vector of uint)
0:82      subgroupPartitionedAndNV ( global 4-component vector of uint)
0:82        'ballot' ( temp 4-component vector of uint)
0:82        'parti' ( temp 4-component vector of uint)
0:83      subgroupPartitionedOrNV ( global 4-component vector of uint)
0:83        'ballot' ( temp 4-component vector of uint)
0:83        'parti' ( temp 4-component vector of uint)
0:84      subgroupPartitionedXorNV ( global 4-component vector of uint)
0:84        'ballot' ( temp 4-component vector of uint)
0:84        'parti' ( temp 4-component vector of uint)
0:85      subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:85        'f4' ( in 4-component vector of float)
0:85        'parti' ( temp 4-component vector of uint)
0:86      subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:86        'f4' ( in 4-component vector of float)
0:86        'parti' ( temp 4-component vector of uint)
0:87      subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:87        'f4' ( in 4-component vector of float)
0:87        'parti' ( temp 4-component vector of uint)
0:88      subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:88        'f4' ( in 4-component vector of float)
0:88        'parti' ( temp 4-component vector of uint)
0:89      subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:89        'ballot' ( temp 4-component vector of uint)
0:89        'parti' ( temp 4-component vector of uint)
0:90      subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:90        'ballot' ( temp 4-component vector of uint)
0:90        'parti' ( temp 4-component vector of uint)
0:91      subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:91        'ballot' ( temp 4-component vector of uint)
0:91        'parti' ( temp 4-component vector of uint)
0:92      subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:92        'f4' ( in 4-component vector of float)
0:92        'parti' ( temp 4-component vector of uint)
0:93      subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:93        'f4' ( in 4-component vector of float)
0:93        'parti' ( temp 4-component vector of uint)
0:94      subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:94        'f4' ( in 4-component vector of float)
0:94        'parti' ( temp 4-component vector of uint)
0:95      subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:95        'f4' ( in 4-component vector of float)
0:95        'parti' ( temp 4-component vector of uint)
0:96      subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:96        'ballot' ( temp 4-component vector of uint)
0:96        'parti' ( temp 4-component vector of uint)
0:97      subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:97        'ballot' ( temp 4-component vector of uint)
0:97        'parti' ( temp 4-component vector of uint)
0:98      subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:98        'ballot' ( temp 4-component vector of uint)
0:98        'parti' ( temp 4-component vector of uint)
0:100      Branch: Return with expression
0:100        'result' ( temp 4-component vector of float)
0:127  Function Definition: main( ( global void)
0:127    Function Parameters: 
0:129    Sequence
0:129      Sequence
0:129        move second child to first child ( temp uint)
0:129          'iid' ( temp uint)
0:129          direct index ( temp uint)
0:129            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:129            Constant:
0:129              0 (const int)
0:130      Sequence
0:130        move second child to first child ( temp uint)
0:130          'gid' ( temp uint)
0:130          direct index ( temp uint)
0:130            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:130            Constant:
0:130              0 (const int)
0:131      Sequence
0:131        move second child to first child ( temp uint)
0:131          'viewID' ( temp uint)
0:131          indirect index ( temp uint MeshViewIndicesNV)
0:131            'gl_MeshViewIndicesNV' ( in 4-element array of uint MeshViewIndicesNV)
0:131            mod ( temp uint)
0:131              'gl_MeshViewCountNV' ( in uint MeshViewCountNV)
0:131              Constant:
0:131                4 (const uint)
0:134      Sequence
0:134        Sequence
0:134          move second child to first child ( temp uint)
0:134            'i' ( temp uint)
0:134            Constant:
0:134              0 (const uint)
0:134        Loop with condition tested first
0:134          Loop Condition
0:134          Compare Less Than ( temp bool)
0:134            'i' ( temp uint)
0:134            Constant:
0:134              10 (const uint)
0:134          Loop Body
0:135          Sequence
0:135            move second child to first child ( temp 4-component vector of float)
0:135              indirect index ( temp 4-component vector of float)
0:135                'mem' ( shared 10-element array of 4-component vector of float)
0:135                'i' ( temp uint)
0:135              Construct vec4 ( temp 4-component vector of float)
0:135                Convert uint to float ( temp float)
0:135                  add ( temp uint)
0:135                    'i' ( temp uint)
0:135                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:135                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:135                      Constant:
0:135                        0 (const uint)
0:134          Loop Terminal Expression
0:134          Pre-Increment ( temp uint)
0:134            'i' ( temp uint)
0:137      imageStore ( global void)
0:137        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:137        Construct ivec2 ( temp 2-component vector of int)
0:137          Convert uint to int ( temp int)
0:137            'iid' ( temp uint)
0:137        indirect index ( temp 4-component vector of float)
0:137          'mem' ( shared 10-element array of 4-component vector of float)
0:137          'gid' ( temp uint)
0:138      imageStore ( global void)
0:138        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:138        Construct ivec2 ( temp 2-component vector of int)
0:138          Convert uint to int ( temp int)
0:138            'iid' ( temp uint)
0:138        indirect index ( temp 4-component vector of float)
0:138          'mem' ( shared 10-element array of 4-component vector of float)
0:138          add ( temp uint)
0:138            'gid' ( temp uint)
0:138            Constant:
0:138              1 (const uint)
0:140      MemoryBarrierShared ( global void)
0:140      Barrier ( global void)
0:144      move second child to first child ( temp 2-component vector of float)
0:144        dummy: direct index for structure (layout( std430 offset=0) taskNV out 2-component vector of float)
0:144          'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:144          Constant:
0:144            0 (const int)
0:144        Constant:
0:144          30.000000
0:144          31.000000
0:145      move second child to first child ( temp 2-component vector of float)
0:145        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:145          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:145            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:145            Constant:
0:145              1 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        Constant:
0:145          32.000000
0:145          33.000000
0:146      move second child to first child ( temp 2-component vector of float)
0:146        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:146          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:146            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:146            Constant:
0:146              1 (const int)
0:146          Constant:
0:146            1 (const int)
0:146        Constant:
0:146          34.000000
0:146          35.000000
0:147      move second child to first child ( temp 2-component vector of float)
0:147        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147            Constant:
0:147              1 (const int)
0:147          Constant:
0:147            2 (const int)
0:147        indirect index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147            Constant:
0:147              1 (const int)
0:147          mod ( temp uint)
0:147            'gid' ( temp uint)
0:147            Constant:
0:147              2 (const uint)
0:148      move second child to first child ( temp uint)
0:148        viewID: direct index for structure (layout( std430 offset=32) taskNV out uint)
0:148          'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:148          Constant:
0:148            2 (const int)
0:148        'viewID' ( temp uint)
0:150      MemoryBarrierShared ( global void)
0:150      Barrier ( global void)
0:153      move second child to first child ( temp uint)
0:153        'gl_TaskCountNV' ( out uint TaskCountNV)
0:153        Constant:
0:153          3 (const uint)
0:157  Function Definition: basic_works( ( global void)
0:157    Function Parameters: 
0:159    Sequence
0:159      'gl_SubgroupSize' ( in uint SubgroupSize)
0:160      'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:161      subgroupBarrier ( global void)
0:162      subgroupMemoryBarrier ( global void)
0:163      subgroupMemoryBarrierBuffer ( global void)
0:164      subgroupMemoryBarrierImage ( global void)
0:165      subgroupElect ( global bool)
0:166      'gl_NumSubgroups' ( in uint NumSubgroups)
0:167      'gl_SubgroupID' ( in uint SubgroupID)
0:168      subgroupMemoryBarrierShared ( global void)
0:172  Function Definition: ballot_works(vf4; ( global void)
0:172    Function Parameters: 
0:172      'f4' ( in 4-component vector of float)
0:173    Sequence
0:173      'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:174      'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:175      'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:176      'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:177      'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:178      subgroupBroadcast ( global 4-component vector of float)
0:178        'f4' ( in 4-component vector of float)
0:178        Constant:
0:178          0 (const uint)
0:179      subgroupBroadcastFirst ( global 4-component vector of float)
0:179        'f4' ( in 4-component vector of float)
0:180      Sequence
0:180        move second child to first child ( temp 4-component vector of uint)
0:180          'ballot' ( temp 4-component vector of uint)
0:180          subgroupBallot ( global 4-component vector of uint)
0:180            Constant:
0:180              false (const bool)
0:181      subgroupInverseBallot ( global bool)
0:181        Constant:
0:181          1 (const uint)
0:181          1 (const uint)
0:181          1 (const uint)
0:181          1 (const uint)
0:182      subgroupBallotBitExtract ( global bool)
0:182        'ballot' ( temp 4-component vector of uint)
0:182        Constant:
0:182          0 (const uint)
0:183      subgroupBallotBitCount ( global uint)
0:183        'ballot' ( temp 4-component vector of uint)
0:184      subgroupBallotInclusiveBitCount ( global uint)
0:184        'ballot' ( temp 4-component vector of uint)
0:185      subgroupBallotExclusiveBitCount ( global uint)
0:185        'ballot' ( temp 4-component vector of uint)
0:186      subgroupBallotFindLSB ( global uint)
0:186        'ballot' ( temp 4-component vector of uint)
0:187      subgroupBallotFindMSB ( global uint)
0:187        'ballot' ( temp 4-component vector of uint)
0:191  Function Definition: vote_works(vf4; ( global void)
0:191    Function Parameters: 
0:191      'f4' ( in 4-component vector of float)
0:193    Sequence
0:193      subgroupAll ( global bool)
0:193        Constant:
0:193          true (const bool)
0:194      subgroupAny ( global bool)
0:194        Constant:
0:194          false (const bool)
0:195      subgroupAllEqual ( global bool)
0:195        'f4' ( in 4-component vector of float)
0:200  Function Definition: shuffle_works(vf4; ( global void)
0:200    Function Parameters: 
0:200      'f4' ( in 4-component vector of float)
0:202    Sequence
0:202      subgroupShuffle ( global 4-component vector of float)
0:202        'f4' ( in 4-component vector of float)
0:202        Constant:
0:202          0 (const uint)
0:203      subgroupShuffleXor ( global 4-component vector of float)
0:203        'f4' ( in 4-component vector of float)
0:203        Constant:
0:203          1 (const uint)
0:204      subgroupShuffleUp ( global 4-component vector of float)
0:204        'f4' ( in 4-component vector of float)
0:204        Constant:
0:204          1 (const uint)
0:205      subgroupShuffleDown ( global 4-component vector of float)
0:205        'f4' ( in 4-component vector of float)
0:205        Constant:
0:205          1 (const uint)
0:209  Function Definition: arith_works(vf4; ( global void)
0:209    Function Parameters: 
0:209      'f4' ( in 4-component vector of float)
0:?     Sequence
0:212      subgroupAdd ( global 4-component vector of float)
0:212        'f4' ( in 4-component vector of float)
0:213      subgroupMul ( global 4-component vector of float)
0:213        'f4' ( in 4-component vector of float)
0:214      subgroupMin ( global 4-component vector of float)
0:214        'f4' ( in 4-component vector of float)
0:215      subgroupMax ( global 4-component vector of float)
0:215        'f4' ( in 4-component vector of float)
0:216      subgroupAnd ( global 4-component vector of uint)
0:216        'ballot' ( temp 4-component vector of uint)
0:217      subgroupOr ( global 4-component vector of uint)
0:217        'ballot' ( temp 4-component vector of uint)
0:218      subgroupXor ( global 4-component vector of uint)
0:218        'ballot' ( temp 4-component vector of uint)
0:219      subgroupInclusiveAdd ( global 4-component vector of float)
0:219        'f4' ( in 4-component vector of float)
0:220      subgroupInclusiveMul ( global 4-component vector of float)
0:220        'f4' ( in 4-component vector of float)
0:221      subgroupInclusiveMin ( global 4-component vector of float)
0:221        'f4' ( in 4-component vector of float)
0:222      subgroupInclusiveMax ( global 4-component vector of float)
0:222        'f4' ( in 4-component vector of float)
0:223      subgroupInclusiveAnd ( global 4-component vector of uint)
0:223        'ballot' ( temp 4-component vector of uint)
0:224      subgroupInclusiveOr ( global 4-component vector of uint)
0:224        'ballot' ( temp 4-component vector of uint)
0:225      subgroupInclusiveXor ( global 4-component vector of uint)
0:225        'ballot' ( temp 4-component vector of uint)
0:226      subgroupExclusiveAdd ( global 4-component vector of float)
0:226        'f4' ( in 4-component vector of float)
0:227      subgroupExclusiveMul ( global 4-component vector of float)
0:227        'f4' ( in 4-component vector of float)
0:228      subgroupExclusiveMin ( global 4-component vector of float)
0:228        'f4' ( in 4-component vector of float)
0:229      subgroupExclusiveMax ( global 4-component vector of float)
0:229        'f4' ( in 4-component vector of float)
0:230      subgroupExclusiveAnd ( global 4-component vector of uint)
0:230        'ballot' ( temp 4-component vector of uint)
0:231      subgroupExclusiveOr ( global 4-component vector of uint)
0:231        'ballot' ( temp 4-component vector of uint)
0:232      subgroupExclusiveXor ( global 4-component vector of uint)
0:232        'ballot' ( temp 4-component vector of uint)
0:236  Function Definition: clustered_works(vf4; ( global void)
0:236    Function Parameters: 
0:236      'f4' ( in 4-component vector of float)
0:238    Sequence
0:238      Sequence
0:238        move second child to first child ( temp 4-component vector of uint)
0:238          'ballot' ( temp 4-component vector of uint)
0:238          Constant:
0:238            85 (const uint)
0:238            0 (const uint)
0:238            0 (const uint)
0:238            0 (const uint)
0:239      subgroupClusteredAdd ( global 4-component vector of float)
0:239        'f4' ( in 4-component vector of float)
0:239        Constant:
0:239          2 (const uint)
0:240      subgroupClusteredMul ( global 4-component vector of float)
0:240        'f4' ( in 4-component vector of float)
0:240        Constant:
0:240          2 (const uint)
0:241      subgroupClusteredMin ( global 4-component vector of float)
0:241        'f4' ( in 4-component vector of float)
0:241        Constant:
0:241          2 (const uint)
0:242      subgroupClusteredMax ( global 4-component vector of float)
0:242        'f4' ( in 4-component vector of float)
0:242        Constant:
0:242          2 (const uint)
0:243      subgroupClusteredAnd ( global 4-component vector of uint)
0:243        'ballot' ( temp 4-component vector of uint)
0:243        Constant:
0:243          2 (const uint)
0:244      subgroupClusteredOr ( global 4-component vector of uint)
0:244        'ballot' ( temp 4-component vector of uint)
0:244        Constant:
0:244          2 (const uint)
0:245      subgroupClusteredXor ( global 4-component vector of uint)
0:245        'ballot' ( temp 4-component vector of uint)
0:245        Constant:
0:245          2 (const uint)
0:249  Function Definition: quad_works(vf4; ( global void)
0:249    Function Parameters: 
0:249      'f4' ( in 4-component vector of float)
0:251    Sequence
0:251      subgroupQuadBroadcast ( global 4-component vector of float)
0:251        'f4' ( in 4-component vector of float)
0:251        Constant:
0:251          0 (const uint)
0:252      subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:252        'f4' ( in 4-component vector of float)
0:253      subgroupQuadSwapVertical ( global 4-component vector of float)
0:253        'f4' ( in 4-component vector of float)
0:254      subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:254        'f4' ( in 4-component vector of float)
0:258  Function Definition: partitioned_works(vf4; ( global void)
0:258    Function Parameters: 
0:258      'f4' ( in 4-component vector of float)
0:260    Sequence
0:260      Sequence
0:260        move second child to first child ( temp 4-component vector of uint)
0:260          'parti' ( temp 4-component vector of uint)
0:260          subgroupPartitionNV ( global 4-component vector of uint)
0:260            'f4' ( in 4-component vector of float)
0:261      Sequence
0:261        move second child to first child ( temp 4-component vector of uint)
0:261          'ballot' ( temp 4-component vector of uint)
0:261          Constant:
0:261            85 (const uint)
0:261            0 (const uint)
0:261            0 (const uint)
0:261            0 (const uint)
0:262      subgroupPartitionedAddNV ( global 4-component vector of float)
0:262        'f4' ( in 4-component vector of float)
0:262        'parti' ( temp 4-component vector of uint)
0:263      subgroupPartitionedMulNV ( global 4-component vector of float)
0:263        'f4' ( in 4-component vector of float)
0:263        'parti' ( temp 4-component vector of uint)
0:264      subgroupPartitionedMinNV ( global 4-component vector of float)
0:264        'f4' ( in 4-component vector of float)
0:264        'parti' ( temp 4-component vector of uint)
0:265      subgroupPartitionedMaxNV ( global 4-component vector of float)
0:265        'f4' ( in 4-component vector of float)
0:265        'parti' ( temp 4-component vector of uint)
0:266      subgroupPartitionedAndNV ( global 4-component vector of uint)
0:266        'ballot' ( temp 4-component vector of uint)
0:266        'parti' ( temp 4-component vector of uint)
0:267      subgroupPartitionedOrNV ( global 4-component vector of uint)
0:267        'ballot' ( temp 4-component vector of uint)
0:267        'parti' ( temp 4-component vector of uint)
0:268      subgroupPartitionedXorNV ( global 4-component vector of uint)
0:268        'ballot' ( temp 4-component vector of uint)
0:268        'parti' ( temp 4-component vector of uint)
0:269      subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
0:269        'f4' ( in 4-component vector of float)
0:269        'parti' ( temp 4-component vector of uint)
0:270      subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
0:270        'f4' ( in 4-component vector of float)
0:270        'parti' ( temp 4-component vector of uint)
0:271      subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
0:271        'f4' ( in 4-component vector of float)
0:271        'parti' ( temp 4-component vector of uint)
0:272      subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
0:272        'f4' ( in 4-component vector of float)
0:272        'parti' ( temp 4-component vector of uint)
0:273      subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
0:273        'ballot' ( temp 4-component vector of uint)
0:273        'parti' ( temp 4-component vector of uint)
0:274      subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
0:274        'ballot' ( temp 4-component vector of uint)
0:274        'parti' ( temp 4-component vector of uint)
0:275      subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
0:275        'ballot' ( temp 4-component vector of uint)
0:275        'parti' ( temp 4-component vector of uint)
0:276      subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
0:276        'f4' ( in 4-component vector of float)
0:276        'parti' ( temp 4-component vector of uint)
0:277      subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
0:277        'f4' ( in 4-component vector of float)
0:277        'parti' ( temp 4-component vector of uint)
0:278      subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
0:278        'f4' ( in 4-component vector of float)
0:278        'parti' ( temp 4-component vector of uint)
0:279      subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:279        'f4' ( in 4-component vector of float)
0:279        'parti' ( temp 4-component vector of uint)
0:280      subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:280        'ballot' ( temp 4-component vector of uint)
0:280        'parti' ( temp 4-component vector of uint)
0:281      subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:281        'ballot' ( temp 4-component vector of uint)
0:281        'parti' ( temp 4-component vector of uint)
0:282      subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:282        'ballot' ( temp 4-component vector of uint)
0:282        'parti' ( temp 4-component vector of uint)
0:286  Function Definition: sm_builtins_err( ( global void)
0:286    Function Parameters: 
0:288    Sequence
0:288      'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:289      'gl_SMCountNV' ( in uint SMCountNV)
0:290      'gl_WarpIDNV' ( in uint WarpIDNV)
0:291      'gl_SMIDNV' ( in uint SMIDNV)
0:298  Function Definition: sm_builtins( ( global void)
0:298    Function Parameters: 
0:300    Sequence
0:300      'gl_WarpsPerSMNV' ( in uint WarpsPerSMNV)
0:301      'gl_SMCountNV' ( in uint SMCountNV)
0:302      'gl_WarpIDNV' ( in uint WarpIDNV)
0:303      'gl_SMIDNV' ( in uint SMIDNV)
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' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})


Linked task stage:


Shader version: 460
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
Requested GL_NV_mesh_shader
Requested GL_NV_shader_sm_builtins
Requested GL_NV_shader_subgroup_partitioned
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:127  Function Definition: main( ( global void)
0:127    Function Parameters: 
0:129    Sequence
0:129      Sequence
0:129        move second child to first child ( temp uint)
0:129          'iid' ( temp uint)
0:129          direct index ( temp uint)
0:129            'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:129            Constant:
0:129              0 (const int)
0:130      Sequence
0:130        move second child to first child ( temp uint)
0:130          'gid' ( temp uint)
0:130          direct index ( temp uint)
0:130            'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:130            Constant:
0:130              0 (const int)
0:131      Sequence
0:131        move second child to first child ( temp uint)
0:131          'viewID' ( temp uint)
0:131          indirect index ( temp uint MeshViewIndicesNV)
0:131            'gl_MeshViewIndicesNV' ( in 4-element array of uint MeshViewIndicesNV)
0:131            mod ( temp uint)
0:131              'gl_MeshViewCountNV' ( in uint MeshViewCountNV)
0:131              Constant:
0:131                4 (const uint)
0:134      Sequence
0:134        Sequence
0:134          move second child to first child ( temp uint)
0:134            'i' ( temp uint)
0:134            Constant:
0:134              0 (const uint)
0:134        Loop with condition tested first
0:134          Loop Condition
0:134          Compare Less Than ( temp bool)
0:134            'i' ( temp uint)
0:134            Constant:
0:134              10 (const uint)
0:134          Loop Body
0:135          Sequence
0:135            move second child to first child ( temp 4-component vector of float)
0:135              indirect index ( temp 4-component vector of float)
0:135                'mem' ( shared 10-element array of 4-component vector of float)
0:135                'i' ( temp uint)
0:135              Construct vec4 ( temp 4-component vector of float)
0:135                Convert uint to float ( temp float)
0:135                  add ( temp uint)
0:135                    'i' ( temp uint)
0:135                    uni_value: direct index for structure (layout( column_major shared) uniform uint)
0:135                      'anon@0' (layout( column_major shared) uniform block{layout( column_major shared) uniform uint uni_value})
0:135                      Constant:
0:135                        0 (const uint)
0:134          Loop Terminal Expression
0:134          Pre-Increment ( temp uint)
0:134            'i' ( temp uint)
0:137      imageStore ( global void)
0:137        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:137        Construct ivec2 ( temp 2-component vector of int)
0:137          Convert uint to int ( temp int)
0:137            'iid' ( temp uint)
0:137        indirect index ( temp 4-component vector of float)
0:137          'mem' ( shared 10-element array of 4-component vector of float)
0:137          'gid' ( temp uint)
0:138      imageStore ( global void)
0:138        'uni_image' (layout( binding=0) writeonly uniform image2D)
0:138        Construct ivec2 ( temp 2-component vector of int)
0:138          Convert uint to int ( temp int)
0:138            'iid' ( temp uint)
0:138        indirect index ( temp 4-component vector of float)
0:138          'mem' ( shared 10-element array of 4-component vector of float)
0:138          add ( temp uint)
0:138            'gid' ( temp uint)
0:138            Constant:
0:138              1 (const uint)
0:140      MemoryBarrierShared ( global void)
0:140      Barrier ( global void)
0:144      move second child to first child ( temp 2-component vector of float)
0:144        dummy: direct index for structure (layout( std430 offset=0) taskNV out 2-component vector of float)
0:144          'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:144          Constant:
0:144            0 (const int)
0:144        Constant:
0:144          30.000000
0:144          31.000000
0:145      move second child to first child ( temp 2-component vector of float)
0:145        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:145          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:145            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:145            Constant:
0:145              1 (const int)
0:145          Constant:
0:145            0 (const int)
0:145        Constant:
0:145          32.000000
0:145          33.000000
0:146      move second child to first child ( temp 2-component vector of float)
0:146        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:146          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:146            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:146            Constant:
0:146              1 (const int)
0:146          Constant:
0:146            1 (const int)
0:146        Constant:
0:146          34.000000
0:146          35.000000
0:147      move second child to first child ( temp 2-component vector of float)
0:147        direct index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147            Constant:
0:147              1 (const int)
0:147          Constant:
0:147            2 (const int)
0:147        indirect index (layout( std430 offset=8) taskNV temp 2-component vector of float)
0:147          submesh: direct index for structure (layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float)
0:147            'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:147            Constant:
0:147              1 (const int)
0:147          mod ( temp uint)
0:147            'gid' ( temp uint)
0:147            Constant:
0:147              2 (const uint)
0:148      move second child to first child ( temp uint)
0:148        viewID: direct index for structure (layout( std430 offset=32) taskNV out uint)
0:148          'mytask' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})
0:148          Constant:
0:148            2 (const int)
0:148        'viewID' ( temp uint)
0:150      MemoryBarrierShared ( global void)
0:150      Barrier ( global void)
0:153      move second child to first child ( temp uint)
0:153        'gl_TaskCountNV' ( out uint TaskCountNV)
0:153        Constant:
0:153          3 (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' (layout( std430) taskNV out block{layout( std430 offset=0) taskNV out 2-component vector of float dummy, layout( std430 offset=8) taskNV out 3-element array of 2-component vector of float submesh, layout( std430 offset=32) taskNV out uint viewID})

