glslang/Test/baseResults/glsl.460.subgroupEXT.mesh.out
Pankaj Mistry ed789649ce GL_EXT_mesh_shader/SPV_EXT_mesh_shader implementation
Added following updates to GL_EXT_mesh_shader implementation:

1. Added SPIRV and GLSL test cases
2. Added checks to ensure NV and EXT mesh shader builtins cannot be used interchangeably.
3. Updated the language name by removing the postfix "NV" to MeshShader and TaskShader.
4. Added checks for grammar checking to comply with the spec.

5. Added gl_NumWorkGroups builtin to Mesh shader
6. Fixed data type of gl_PrimitiveLineIndicesEXT and gl_PrimitiveTriangleIndicesEXT
7. Added new constants to the resources table
8. Updates to handle new storage qualifier "taskPayloadSharedEXT"
9. Updated test cases by replacing "taskEXT" with storage qualifier "taskPayloadSharedEXT"

Addressed  Review comments
1. Fixed instruction description used by glslang disassembly.
2. Updated OpEmitMeshTasksEXT as per spec update
3. Fixed implementation that errors out if there are more then one taskPayloadSharedEXT varjables.
4. Fixed miscellaneous error logs and removed unwanted code.

SPIRV 1.6 related build failure fixes
- Update SPIRV header to 1.6
- Fix conflict wiht SPIRV 1.6 change, where localSizeId is used for execution mode for mesh/task shaders

Enable SPIRV generated for EXT_mesh_shader to be version 1.4

GL_EXT_mesh_shader: Add checks for atomic support and corresponding test cases
2023-12-11 20:03:12 +00:00

1040 lines
75 KiB
Plaintext

glsl.460.subgroupEXT.mesh
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
max_vertices = 81
max_primitives = 32
output primitive = triangles
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:97 Function Definition: main( ( global void)
0:97 Function Parameters:
0:99 Sequence
0:99 Sequence
0:99 move second child to first child ( temp uint)
0:99 'iid' ( temp uint)
0:99 direct index ( temp uint)
0:99 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:99 Constant:
0:99 0 (const int)
0:100 Sequence
0:100 move second child to first child ( temp uint)
0:100 'gid' ( temp uint)
0:100 direct index ( temp uint)
0:100 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:100 Constant:
0:100 0 (const int)
0:101 Sequence
0:101 move second child to first child ( temp uint)
0:101 'vertexCount' ( temp uint)
0:101 Constant:
0:101 81 (const uint)
0:102 Sequence
0:102 move second child to first child ( temp uint)
0:102 'primitiveCount' ( temp uint)
0:102 Constant:
0:102 32 (const uint)
0:103 SetMeshOutputsEXT ( global void)
0:103 'vertexCount' ( temp uint)
0:103 'primitiveCount' ( temp uint)
0:105 move second child to first child ( temp 4-component vector of float)
0:105 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:105 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:105 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:105 'iid' ( temp uint)
0:105 Constant:
0:105 0 (const int)
0:105 Constant:
0:105 1.000000
0:105 1.000000
0:105 1.000000
0:105 1.000000
0:106 move second child to first child ( temp float)
0:106 gl_PointSize: direct index for structure ( out float PointSize)
0:106 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:106 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:106 'iid' ( temp uint)
0:106 Constant:
0:106 1 (const int)
0:106 Constant:
0:106 2.000000
0:107 move second child to first child ( temp float)
0:107 direct index ( temp float ClipDistance)
0:107 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance)
0:107 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:107 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:107 'iid' ( temp uint)
0:107 Constant:
0:107 2 (const int)
0:107 Constant:
0:107 3 (const int)
0:107 Constant:
0:107 3.000000
0:108 move second child to first child ( temp float)
0:108 direct index ( temp float CullDistance)
0:108 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance)
0:108 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:108 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:108 'iid' ( temp uint)
0:108 Constant:
0:108 3 (const int)
0:108 Constant:
0:108 2 (const int)
0:108 Constant:
0:108 4.000000
0:110 MemoryBarrierShared ( global void)
0:110 Barrier ( global void)
0:112 move second child to first child ( temp 4-component vector of float)
0:112 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:112 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:112 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:112 add ( temp uint)
0:112 'iid' ( temp uint)
0:112 Constant:
0:112 1 (const uint)
0:112 Constant:
0:112 0 (const int)
0:112 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:112 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:112 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:112 'iid' ( temp uint)
0:112 Constant:
0:112 0 (const int)
0:113 move second child to first child ( temp float)
0:113 gl_PointSize: direct index for structure ( out float PointSize)
0:113 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:113 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:113 add ( temp uint)
0:113 'iid' ( temp uint)
0:113 Constant:
0:113 1 (const uint)
0:113 Constant:
0:113 1 (const int)
0:113 gl_PointSize: direct index for structure ( out float PointSize)
0:113 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:113 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:113 'iid' ( temp uint)
0:113 Constant:
0:113 1 (const int)
0:114 move second child to first child ( temp float)
0:114 direct index ( temp float ClipDistance)
0:114 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance)
0:114 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:114 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:114 add ( temp uint)
0:114 'iid' ( temp uint)
0:114 Constant:
0:114 1 (const uint)
0:114 Constant:
0:114 2 (const int)
0:114 Constant:
0:114 3 (const int)
0:114 direct index ( temp float ClipDistance)
0:114 gl_ClipDistance: direct index for structure ( out unsized 4-element array of float ClipDistance)
0:114 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:114 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:114 'iid' ( temp uint)
0:114 Constant:
0:114 2 (const int)
0:114 Constant:
0:114 3 (const int)
0:115 move second child to first child ( temp float)
0:115 direct index ( temp float CullDistance)
0:115 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance)
0:115 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:115 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:115 add ( temp uint)
0:115 'iid' ( temp uint)
0:115 Constant:
0:115 1 (const uint)
0:115 Constant:
0:115 3 (const int)
0:115 Constant:
0:115 2 (const int)
0:115 direct index ( temp float CullDistance)
0:115 gl_CullDistance: direct index for structure ( out unsized 3-element array of float CullDistance)
0:115 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:115 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:115 'iid' ( temp uint)
0:115 Constant:
0:115 3 (const int)
0:115 Constant:
0:115 2 (const int)
0:117 MemoryBarrierShared ( global void)
0:117 Barrier ( global void)
0:119 move second child to first child ( temp int)
0:119 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:119 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:119 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:119 'iid' ( temp uint)
0:119 Constant:
0:119 0 (const int)
0:119 Constant:
0:119 6 (const int)
0:120 move second child to first child ( temp int)
0:120 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:120 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:120 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:120 'iid' ( temp uint)
0:120 Constant:
0:120 1 (const int)
0:120 Constant:
0:120 7 (const int)
0:121 move second child to first child ( temp int)
0:121 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:121 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:121 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:121 'iid' ( temp uint)
0:121 Constant:
0:121 2 (const int)
0:121 Constant:
0:121 8 (const int)
0:122 move second child to first child ( temp bool)
0:122 gl_CullPrimitiveEXT: direct index for structure ( perprimitiveNV out bool CullPrimitiveEXT)
0:122 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:122 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:122 'iid' ( temp uint)
0:122 Constant:
0:122 3 (const int)
0:122 Constant:
0:122 false (const bool)
0:124 MemoryBarrierShared ( global void)
0:124 Barrier ( global void)
0:126 move second child to first child ( temp int)
0:126 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:126 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 add ( temp uint)
0:126 'iid' ( temp uint)
0:126 Constant:
0:126 1 (const uint)
0:126 Constant:
0:126 0 (const int)
0:126 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:126 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'iid' ( temp uint)
0:126 Constant:
0:126 0 (const int)
0:127 move second child to first child ( temp int)
0:127 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:127 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 add ( temp uint)
0:127 'iid' ( temp uint)
0:127 Constant:
0:127 1 (const uint)
0:127 Constant:
0:127 1 (const int)
0:127 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:127 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'iid' ( temp uint)
0:127 Constant:
0:127 1 (const int)
0:128 move second child to first child ( temp int)
0:128 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:128 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 add ( temp uint)
0:128 'iid' ( temp uint)
0:128 Constant:
0:128 1 (const uint)
0:128 Constant:
0:128 2 (const int)
0:128 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:128 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'iid' ( temp uint)
0:128 Constant:
0:128 2 (const int)
0:129 move second child to first child ( temp bool)
0:129 gl_CullPrimitiveEXT: direct index for structure ( perprimitiveNV out bool CullPrimitiveEXT)
0:129 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:129 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:129 add ( temp uint)
0:129 'iid' ( temp uint)
0:129 Constant:
0:129 1 (const uint)
0:129 Constant:
0:129 3 (const int)
0:129 Constant:
0:129 false (const bool)
0:131 MemoryBarrierShared ( global void)
0:131 Barrier ( global void)
0:134 move second child to first child ( temp 3-component vector of uint)
0:134 direct index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:134 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:134 Constant:
0:134 0 (const int)
0:134 Constant:
0:134 1 (const uint)
0:134 1 (const uint)
0:134 1 (const uint)
0:135 move second child to first child ( temp 3-component vector of uint)
0:135 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:135 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:135 subtract ( temp uint)
0:135 'primitiveCount' ( temp uint)
0:135 Constant:
0:135 1 (const uint)
0:135 Constant:
0:135 2 (const uint)
0:135 2 (const uint)
0:135 2 (const uint)
0:136 move second child to first child ( temp 3-component vector of uint)
0:136 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gid' ( temp uint)
0:136 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 subtract ( temp uint)
0:136 'gid' ( temp uint)
0:136 Constant:
0:136 1 (const uint)
0:139 MemoryBarrierShared ( global void)
0:139 Barrier ( global void)
0:143 Function Definition: basic_works( ( global void)
0:143 Function Parameters:
0:145 Sequence
0:145 'gl_SubgroupSize' ( in uint SubgroupSize)
0:146 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
0:147 subgroupBarrier ( global void)
0:148 subgroupMemoryBarrier ( global void)
0:149 subgroupMemoryBarrierBuffer ( global void)
0:150 subgroupMemoryBarrierImage ( global void)
0:151 subgroupElect ( global bool)
0:152 'gl_NumSubgroups' ( in uint NumSubgroups)
0:153 'gl_SubgroupID' ( in uint SubgroupID)
0:154 subgroupMemoryBarrierShared ( global void)
0:158 Function Definition: ballot_works(vf4; ( global void)
0:158 Function Parameters:
0:158 'f4' ( in 4-component vector of float)
0:159 Sequence
0:159 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
0:160 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
0:161 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
0:162 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
0:163 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
0:164 subgroupBroadcast ( global 4-component vector of float)
0:164 'f4' ( in 4-component vector of float)
0:164 Constant:
0:164 0 (const uint)
0:165 subgroupBroadcastFirst ( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:166 Sequence
0:166 move second child to first child ( temp 4-component vector of uint)
0:166 'ballot' ( temp 4-component vector of uint)
0:166 subgroupBallot ( global 4-component vector of uint)
0:166 Constant:
0:166 false (const bool)
0:167 subgroupInverseBallot ( global bool)
0:167 Constant:
0:167 1 (const uint)
0:167 1 (const uint)
0:167 1 (const uint)
0:167 1 (const uint)
0:168 subgroupBallotBitExtract ( global bool)
0:168 'ballot' ( temp 4-component vector of uint)
0:168 Constant:
0:168 0 (const uint)
0:169 subgroupBallotBitCount ( global uint)
0:169 'ballot' ( temp 4-component vector of uint)
0:170 subgroupBallotInclusiveBitCount ( global uint)
0:170 'ballot' ( temp 4-component vector of uint)
0:171 subgroupBallotExclusiveBitCount ( global uint)
0:171 'ballot' ( temp 4-component vector of uint)
0:172 subgroupBallotFindLSB ( global uint)
0:172 'ballot' ( temp 4-component vector of uint)
0:173 subgroupBallotFindMSB ( global uint)
0:173 'ballot' ( temp 4-component vector of uint)
0:177 Function Definition: vote_works(vf4; ( global void)
0:177 Function Parameters:
0:177 'f4' ( in 4-component vector of float)
0:179 Sequence
0:179 subgroupAll ( global bool)
0:179 Constant:
0:179 true (const bool)
0:180 subgroupAny ( global bool)
0:180 Constant:
0:180 false (const bool)
0:181 subgroupAllEqual ( global bool)
0:181 'f4' ( in 4-component vector of float)
0:186 Function Definition: shuffle_works(vf4; ( global void)
0:186 Function Parameters:
0:186 'f4' ( in 4-component vector of float)
0:188 Sequence
0:188 subgroupShuffle ( global 4-component vector of float)
0:188 'f4' ( in 4-component vector of float)
0:188 Constant:
0:188 0 (const uint)
0:189 subgroupShuffleXor ( global 4-component vector of float)
0:189 'f4' ( in 4-component vector of float)
0:189 Constant:
0:189 1 (const uint)
0:190 subgroupShuffleUp ( global 4-component vector of float)
0:190 'f4' ( in 4-component vector of float)
0:190 Constant:
0:190 1 (const uint)
0:191 subgroupShuffleDown ( global 4-component vector of float)
0:191 'f4' ( in 4-component vector of float)
0:191 Constant:
0:191 1 (const uint)
0:195 Function Definition: arith_works(vf4; ( global void)
0:195 Function Parameters:
0:195 'f4' ( in 4-component vector of float)
0:? Sequence
0:198 subgroupAdd ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:199 subgroupMul ( global 4-component vector of float)
0:199 'f4' ( in 4-component vector of float)
0:200 subgroupMin ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:201 subgroupMax ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:202 subgroupAnd ( global 4-component vector of uint)
0:202 'ballot' ( temp 4-component vector of uint)
0:203 subgroupOr ( global 4-component vector of uint)
0:203 'ballot' ( temp 4-component vector of uint)
0:204 subgroupXor ( global 4-component vector of uint)
0:204 'ballot' ( temp 4-component vector of uint)
0:205 subgroupInclusiveAdd ( global 4-component vector of float)
0:205 'f4' ( in 4-component vector of float)
0:206 subgroupInclusiveMul ( global 4-component vector of float)
0:206 'f4' ( in 4-component vector of float)
0:207 subgroupInclusiveMin ( global 4-component vector of float)
0:207 'f4' ( in 4-component vector of float)
0:208 subgroupInclusiveMax ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:209 subgroupInclusiveAnd ( global 4-component vector of uint)
0:209 'ballot' ( temp 4-component vector of uint)
0:210 subgroupInclusiveOr ( global 4-component vector of uint)
0:210 'ballot' ( temp 4-component vector of uint)
0:211 subgroupInclusiveXor ( global 4-component vector of uint)
0:211 'ballot' ( temp 4-component vector of uint)
0:212 subgroupExclusiveAdd ( global 4-component vector of float)
0:212 'f4' ( in 4-component vector of float)
0:213 subgroupExclusiveMul ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:214 subgroupExclusiveMin ( global 4-component vector of float)
0:214 'f4' ( in 4-component vector of float)
0:215 subgroupExclusiveMax ( global 4-component vector of float)
0:215 'f4' ( in 4-component vector of float)
0:216 subgroupExclusiveAnd ( global 4-component vector of uint)
0:216 'ballot' ( temp 4-component vector of uint)
0:217 subgroupExclusiveOr ( global 4-component vector of uint)
0:217 'ballot' ( temp 4-component vector of uint)
0:218 subgroupExclusiveXor ( global 4-component vector of uint)
0:218 'ballot' ( temp 4-component vector of uint)
0:222 Function Definition: clustered_works(vf4; ( global void)
0:222 Function Parameters:
0:222 'f4' ( in 4-component vector of float)
0:224 Sequence
0:224 Sequence
0:224 move second child to first child ( temp 4-component vector of uint)
0:224 'ballot' ( temp 4-component vector of uint)
0:224 Constant:
0:224 85 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:224 0 (const uint)
0:225 subgroupClusteredAdd ( global 4-component vector of float)
0:225 'f4' ( in 4-component vector of float)
0:225 Constant:
0:225 2 (const uint)
0:226 subgroupClusteredMul ( global 4-component vector of float)
0:226 'f4' ( in 4-component vector of float)
0:226 Constant:
0:226 2 (const uint)
0:227 subgroupClusteredMin ( global 4-component vector of float)
0:227 'f4' ( in 4-component vector of float)
0:227 Constant:
0:227 2 (const uint)
0:228 subgroupClusteredMax ( global 4-component vector of float)
0:228 'f4' ( in 4-component vector of float)
0:228 Constant:
0:228 2 (const uint)
0:229 subgroupClusteredAnd ( global 4-component vector of uint)
0:229 'ballot' ( temp 4-component vector of uint)
0:229 Constant:
0:229 2 (const uint)
0:230 subgroupClusteredOr ( global 4-component vector of uint)
0:230 'ballot' ( temp 4-component vector of uint)
0:230 Constant:
0:230 2 (const uint)
0:231 subgroupClusteredXor ( global 4-component vector of uint)
0:231 'ballot' ( temp 4-component vector of uint)
0:231 Constant:
0:231 2 (const uint)
0:235 Function Definition: quad_works(vf4; ( global void)
0:235 Function Parameters:
0:235 'f4' ( in 4-component vector of float)
0:237 Sequence
0:237 subgroupQuadBroadcast ( global 4-component vector of float)
0:237 'f4' ( in 4-component vector of float)
0:237 Constant:
0:237 0 (const uint)
0:238 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:238 'f4' ( in 4-component vector of float)
0:239 subgroupQuadSwapVertical ( global 4-component vector of float)
0:239 'f4' ( in 4-component vector of float)
0:240 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:240 '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:? 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out unsized 4-element array of float ClipDistance gl_ClipDistance, out unsized 3-element array of float CullDistance gl_CullDistance})
0:? 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:? 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
Linked mesh 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
max_vertices = 81
max_primitives = 32
output primitive = triangles
local_size = (32, 1, 1)
ERROR: node is still EOpNull!
0:97 Function Definition: main( ( global void)
0:97 Function Parameters:
0:99 Sequence
0:99 Sequence
0:99 move second child to first child ( temp uint)
0:99 'iid' ( temp uint)
0:99 direct index ( temp uint)
0:99 'gl_LocalInvocationID' ( in 3-component vector of uint LocalInvocationID)
0:99 Constant:
0:99 0 (const int)
0:100 Sequence
0:100 move second child to first child ( temp uint)
0:100 'gid' ( temp uint)
0:100 direct index ( temp uint)
0:100 'gl_WorkGroupID' ( in 3-component vector of uint WorkGroupID)
0:100 Constant:
0:100 0 (const int)
0:101 Sequence
0:101 move second child to first child ( temp uint)
0:101 'vertexCount' ( temp uint)
0:101 Constant:
0:101 81 (const uint)
0:102 Sequence
0:102 move second child to first child ( temp uint)
0:102 'primitiveCount' ( temp uint)
0:102 Constant:
0:102 32 (const uint)
0:103 SetMeshOutputsEXT ( global void)
0:103 'vertexCount' ( temp uint)
0:103 'primitiveCount' ( temp uint)
0:105 move second child to first child ( temp 4-component vector of float)
0:105 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:105 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:105 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:105 'iid' ( temp uint)
0:105 Constant:
0:105 0 (const int)
0:105 Constant:
0:105 1.000000
0:105 1.000000
0:105 1.000000
0:105 1.000000
0:106 move second child to first child ( temp float)
0:106 gl_PointSize: direct index for structure ( out float PointSize)
0:106 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:106 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:106 'iid' ( temp uint)
0:106 Constant:
0:106 1 (const int)
0:106 Constant:
0:106 2.000000
0:107 move second child to first child ( temp float)
0:107 direct index ( temp float ClipDistance)
0:107 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance)
0:107 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:107 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:107 'iid' ( temp uint)
0:107 Constant:
0:107 2 (const int)
0:107 Constant:
0:107 3 (const int)
0:107 Constant:
0:107 3.000000
0:108 move second child to first child ( temp float)
0:108 direct index ( temp float CullDistance)
0:108 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance)
0:108 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:108 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:108 'iid' ( temp uint)
0:108 Constant:
0:108 3 (const int)
0:108 Constant:
0:108 2 (const int)
0:108 Constant:
0:108 4.000000
0:110 MemoryBarrierShared ( global void)
0:110 Barrier ( global void)
0:112 move second child to first child ( temp 4-component vector of float)
0:112 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:112 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:112 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:112 add ( temp uint)
0:112 'iid' ( temp uint)
0:112 Constant:
0:112 1 (const uint)
0:112 Constant:
0:112 0 (const int)
0:112 gl_Position: direct index for structure ( out 4-component vector of float Position)
0:112 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:112 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:112 'iid' ( temp uint)
0:112 Constant:
0:112 0 (const int)
0:113 move second child to first child ( temp float)
0:113 gl_PointSize: direct index for structure ( out float PointSize)
0:113 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:113 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:113 add ( temp uint)
0:113 'iid' ( temp uint)
0:113 Constant:
0:113 1 (const uint)
0:113 Constant:
0:113 1 (const int)
0:113 gl_PointSize: direct index for structure ( out float PointSize)
0:113 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:113 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:113 'iid' ( temp uint)
0:113 Constant:
0:113 1 (const int)
0:114 move second child to first child ( temp float)
0:114 direct index ( temp float ClipDistance)
0:114 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance)
0:114 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:114 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:114 add ( temp uint)
0:114 'iid' ( temp uint)
0:114 Constant:
0:114 1 (const uint)
0:114 Constant:
0:114 2 (const int)
0:114 Constant:
0:114 3 (const int)
0:114 direct index ( temp float ClipDistance)
0:114 gl_ClipDistance: direct index for structure ( out 4-element array of float ClipDistance)
0:114 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:114 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:114 'iid' ( temp uint)
0:114 Constant:
0:114 2 (const int)
0:114 Constant:
0:114 3 (const int)
0:115 move second child to first child ( temp float)
0:115 direct index ( temp float CullDistance)
0:115 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance)
0:115 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:115 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:115 add ( temp uint)
0:115 'iid' ( temp uint)
0:115 Constant:
0:115 1 (const uint)
0:115 Constant:
0:115 3 (const int)
0:115 Constant:
0:115 2 (const int)
0:115 direct index ( temp float CullDistance)
0:115 gl_CullDistance: direct index for structure ( out 3-element array of float CullDistance)
0:115 indirect index ( temp block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:115 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:115 'iid' ( temp uint)
0:115 Constant:
0:115 3 (const int)
0:115 Constant:
0:115 2 (const int)
0:117 MemoryBarrierShared ( global void)
0:117 Barrier ( global void)
0:119 move second child to first child ( temp int)
0:119 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:119 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:119 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:119 'iid' ( temp uint)
0:119 Constant:
0:119 0 (const int)
0:119 Constant:
0:119 6 (const int)
0:120 move second child to first child ( temp int)
0:120 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:120 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:120 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:120 'iid' ( temp uint)
0:120 Constant:
0:120 1 (const int)
0:120 Constant:
0:120 7 (const int)
0:121 move second child to first child ( temp int)
0:121 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:121 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:121 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:121 'iid' ( temp uint)
0:121 Constant:
0:121 2 (const int)
0:121 Constant:
0:121 8 (const int)
0:122 move second child to first child ( temp bool)
0:122 gl_CullPrimitiveEXT: direct index for structure ( perprimitiveNV out bool CullPrimitiveEXT)
0:122 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:122 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:122 'iid' ( temp uint)
0:122 Constant:
0:122 3 (const int)
0:122 Constant:
0:122 false (const bool)
0:124 MemoryBarrierShared ( global void)
0:124 Barrier ( global void)
0:126 move second child to first child ( temp int)
0:126 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:126 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 add ( temp uint)
0:126 'iid' ( temp uint)
0:126 Constant:
0:126 1 (const uint)
0:126 Constant:
0:126 0 (const int)
0:126 gl_PrimitiveID: direct index for structure ( perprimitiveNV out int PrimitiveID)
0:126 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:126 'iid' ( temp uint)
0:126 Constant:
0:126 0 (const int)
0:127 move second child to first child ( temp int)
0:127 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:127 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 add ( temp uint)
0:127 'iid' ( temp uint)
0:127 Constant:
0:127 1 (const uint)
0:127 Constant:
0:127 1 (const int)
0:127 gl_Layer: direct index for structure ( perprimitiveNV out int Layer)
0:127 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:127 'iid' ( temp uint)
0:127 Constant:
0:127 1 (const int)
0:128 move second child to first child ( temp int)
0:128 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:128 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 add ( temp uint)
0:128 'iid' ( temp uint)
0:128 Constant:
0:128 1 (const uint)
0:128 Constant:
0:128 2 (const int)
0:128 gl_ViewportIndex: direct index for structure ( perprimitiveNV out int ViewportIndex)
0:128 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:128 'iid' ( temp uint)
0:128 Constant:
0:128 2 (const int)
0:129 move second child to first child ( temp bool)
0:129 gl_CullPrimitiveEXT: direct index for structure ( perprimitiveNV out bool CullPrimitiveEXT)
0:129 indirect index ( perprimitiveNV temp block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:129 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:129 add ( temp uint)
0:129 'iid' ( temp uint)
0:129 Constant:
0:129 1 (const uint)
0:129 Constant:
0:129 3 (const int)
0:129 Constant:
0:129 false (const bool)
0:131 MemoryBarrierShared ( global void)
0:131 Barrier ( global void)
0:134 move second child to first child ( temp 3-component vector of uint)
0:134 direct index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:134 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:134 Constant:
0:134 0 (const int)
0:134 Constant:
0:134 1 (const uint)
0:134 1 (const uint)
0:134 1 (const uint)
0:135 move second child to first child ( temp 3-component vector of uint)
0:135 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:135 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:135 subtract ( temp uint)
0:135 'primitiveCount' ( temp uint)
0:135 Constant:
0:135 1 (const uint)
0:135 Constant:
0:135 2 (const uint)
0:135 2 (const uint)
0:135 2 (const uint)
0:136 move second child to first child ( temp 3-component vector of uint)
0:136 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gid' ( temp uint)
0:136 indirect index ( temp 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)
0:136 subtract ( temp uint)
0:136 'gid' ( temp uint)
0:136 Constant:
0:136 1 (const uint)
0:139 MemoryBarrierShared ( global void)
0:139 Barrier ( global void)
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:? 'gl_MeshVerticesEXT' ( out 81-element array of block{ out 4-component vector of float Position gl_Position, out float PointSize gl_PointSize, out 4-element array of float ClipDistance gl_ClipDistance, out 3-element array of float CullDistance gl_CullDistance})
0:? 'gl_MeshPrimitivesEXT' ( perprimitiveNV out 32-element array of block{ perprimitiveNV out int PrimitiveID gl_PrimitiveID, perprimitiveNV out int Layer gl_Layer, perprimitiveNV out int ViewportIndex gl_ViewportIndex, perprimitiveNV out bool CullPrimitiveEXT gl_CullPrimitiveEXT, perprimitiveNV out int PrimitiveShadingRateKHR gl_PrimitiveShadingRateEXT})
0:? 'gl_PrimitiveTriangleIndicesEXT' ( out 96-element array of 3-component vector of uint PrimitiveTriangleIndicesEXT)