Fix subgroup support for ray tracing
Closes #1735 GlslangToSpv.cpp - minor formatting cleanup BaseTypes.h - minor formatting cleanup - add subgroup builtins to GetBuiltInVariableString (was resulting in "unknown built-in variable" messages in test output) Initialize.cpp - better naming and re-use of strings for subgroup builtin variable declarations - define subgroup builtin variables in ray-tracing shaders intermOut.cpp - add handling of the EOpSubgroupParition* variables (was resulting in "ERROR: Bad aggregation op" messages in test output) Update test results.
This commit is contained in:
parent
c3e60ad9b6
commit
593a4e0aa5
45 changed files with 2237 additions and 3886 deletions
|
|
@ -1,6 +1,6 @@
|
|||
glsl.460.subgroup.rmiss
|
||||
ERROR: 0:8: 'gl_SubgroupSize' : undeclared identifier
|
||||
ERROR: 0:9: 'gl_SubgroupInvocationID' : undeclared identifier
|
||||
ERROR: 0:8: 'gl_SubgroupSize' : required extension not requested: GL_KHR_shader_subgroup_basic
|
||||
ERROR: 0:9: 'gl_SubgroupInvocationID' : required extension not requested: GL_KHR_shader_subgroup_basic
|
||||
ERROR: 0:10: 'subgroupBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
|
||||
ERROR: 0:11: 'subgroupMemoryBarrier' : required extension not requested: GL_KHR_shader_subgroup_basic
|
||||
ERROR: 0:12: 'subgroupMemoryBarrierBuffer' : required extension not requested: GL_KHR_shader_subgroup_basic
|
||||
|
|
@ -12,11 +12,11 @@ ERROR: 0:17: 'subgroupMemoryBarrierShared' : no matching overloaded function fou
|
|||
ERROR: 0:19: 'subgroupAll' : required extension not requested: GL_KHR_shader_subgroup_vote
|
||||
ERROR: 0:20: 'subgroupAny' : required extension not requested: GL_KHR_shader_subgroup_vote
|
||||
ERROR: 0:21: 'subgroupAllEqual' : required extension not requested: GL_KHR_shader_subgroup_vote
|
||||
ERROR: 0:23: 'gl_SubgroupEqMask' : undeclared identifier
|
||||
ERROR: 0:24: 'gl_SubgroupGeMask' : undeclared identifier
|
||||
ERROR: 0:25: 'gl_SubgroupGtMask' : undeclared identifier
|
||||
ERROR: 0:26: 'gl_SubgroupLeMask' : undeclared identifier
|
||||
ERROR: 0:27: 'gl_SubgroupLtMask' : undeclared identifier
|
||||
ERROR: 0:23: 'gl_SubgroupEqMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:24: 'gl_SubgroupGeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:25: 'gl_SubgroupGtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:26: 'gl_SubgroupLeMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:27: 'gl_SubgroupLtMask' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:28: 'subgroupBroadcast' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:29: 'subgroupBroadcastFirst' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
ERROR: 0:30: 'subgroupBallot' : required extension not requested: GL_KHR_shader_subgroup_ballot
|
||||
|
|
@ -85,14 +85,7 @@ ERROR: 0:97: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
|
|||
ERROR: 0:98: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:99: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:100: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
|
||||
ERROR: 0:125: 'gl_SubgroupSize' : undeclared identifier
|
||||
ERROR: 0:126: 'gl_SubgroupInvocationID' : undeclared identifier
|
||||
ERROR: 0:136: 'gl_SubgroupEqMask' : undeclared identifier
|
||||
ERROR: 0:137: 'gl_SubgroupGeMask' : undeclared identifier
|
||||
ERROR: 0:138: 'gl_SubgroupGtMask' : undeclared identifier
|
||||
ERROR: 0:139: 'gl_SubgroupLeMask' : undeclared identifier
|
||||
ERROR: 0:140: 'gl_SubgroupLtMask' : undeclared identifier
|
||||
ERROR: 93 compilation errors. No code generated.
|
||||
ERROR: 86 compilation errors. No code generated.
|
||||
|
||||
|
||||
Shader version: 460
|
||||
|
|
@ -111,8 +104,8 @@ ERROR: node is still EOpNull!
|
|||
0:5 Function Parameters:
|
||||
0:5 'f4' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:8 'gl_SubgroupSize' ( temp float)
|
||||
0:9 'gl_SubgroupInvocationID' ( temp float)
|
||||
0:8 'gl_SubgroupSize' ( in uint SubgroupSize)
|
||||
0:9 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
||||
0:10 subgroupBarrier ( global void)
|
||||
0:11 subgroupMemoryBarrier ( global void)
|
||||
0:12 subgroupMemoryBarrierBuffer ( global void)
|
||||
|
|
@ -130,11 +123,11 @@ ERROR: node is still EOpNull!
|
|||
0:20 false (const bool)
|
||||
0:21 subgroupAllEqual ( global bool)
|
||||
0:21 'f4' ( in 4-component vector of float)
|
||||
0:23 'gl_SubgroupEqMask' ( temp float)
|
||||
0:24 'gl_SubgroupGeMask' ( temp float)
|
||||
0:25 'gl_SubgroupGtMask' ( temp float)
|
||||
0:26 'gl_SubgroupLeMask' ( temp float)
|
||||
0:27 'gl_SubgroupLtMask' ( temp float)
|
||||
0:23 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
|
||||
0:24 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
|
||||
0:25 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
|
||||
0:26 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
|
||||
0:27 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
|
||||
0:28 subgroupBroadcast ( global 4-component vector of float)
|
||||
0:28 'f4' ( in 4-component vector of float)
|
||||
0:28 Constant:
|
||||
|
|
@ -270,88 +263,67 @@ ERROR: node is still EOpNull!
|
|||
0:79 'parti' ( temp 4-component vector of uint)
|
||||
0:79 subgroupPartitionNV ( global 4-component vector of uint)
|
||||
0:79 'f4' ( in 4-component vector of float)
|
||||
0:80 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:80 subgroupPartitionedAddNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:81 subgroupPartitionedMulNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:82 subgroupPartitionedMinNV ( global 4-component vector of float)
|
||||
0:82 'f4' ( in 4-component vector of float)
|
||||
0:82 'parti' ( temp 4-component vector of uint)
|
||||
0:83 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:83 subgroupPartitionedMaxNV ( global 4-component vector of float)
|
||||
0:83 'f4' ( in 4-component vector of float)
|
||||
0:83 'parti' ( temp 4-component vector of uint)
|
||||
0:84 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:84 subgroupPartitionedAndNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:85 subgroupPartitionedOrNV ( global 4-component vector of uint)
|
||||
0:85 'ballot' ( temp 4-component vector of uint)
|
||||
0:85 'parti' ( temp 4-component vector of uint)
|
||||
0:86 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:86 subgroupPartitionedXorNV ( global 4-component vector of uint)
|
||||
0:86 'ballot' ( temp 4-component vector of uint)
|
||||
0:86 'parti' ( temp 4-component vector of uint)
|
||||
0:87 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:87 subgroupPartitionedInclusiveAddNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:88 subgroupPartitionedInclusiveMulNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:89 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
|
||||
0:89 'f4' ( in 4-component vector of float)
|
||||
0:89 'parti' ( temp 4-component vector of uint)
|
||||
0:90 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:90 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
|
||||
0:90 'f4' ( in 4-component vector of float)
|
||||
0:90 'parti' ( temp 4-component vector of uint)
|
||||
0:91 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:91 subgroupPartitionedInclusiveAndNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:92 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
|
||||
0:92 'ballot' ( temp 4-component vector of uint)
|
||||
0:92 'parti' ( temp 4-component vector of uint)
|
||||
0:93 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:93 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
|
||||
0:93 'ballot' ( temp 4-component vector of uint)
|
||||
0:93 'parti' ( temp 4-component vector of uint)
|
||||
0:94 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:94 subgroupPartitionedExclusiveAddNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:95 subgroupPartitionedExclusiveMulNV ( 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:96 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
|
||||
0:96 'f4' ( in 4-component vector of float)
|
||||
0:96 'parti' ( temp 4-component vector of uint)
|
||||
0:97 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:97 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
|
||||
0:97 'f4' ( in 4-component vector of float)
|
||||
0:97 'parti' ( temp 4-component vector of uint)
|
||||
0:98 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:98 subgroupPartitionedExclusiveAndNV ( 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:99 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:99 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
|
||||
0:99 'ballot' ( temp 4-component vector of uint)
|
||||
0:99 'parti' ( temp 4-component vector of uint)
|
||||
0:100 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:100 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:100 'ballot' ( temp 4-component vector of uint)
|
||||
0:100 'parti' ( temp 4-component vector of uint)
|
||||
0:102 Branch: Return with expression
|
||||
|
|
@ -420,8 +392,8 @@ ERROR: node is still EOpNull!
|
|||
0:123 Function Definition: basic_works( ( global void)
|
||||
0:123 Function Parameters:
|
||||
0:125 Sequence
|
||||
0:125 'gl_SubgroupSize' ( temp float)
|
||||
0:126 'gl_SubgroupInvocationID' ( temp float)
|
||||
0:125 'gl_SubgroupSize' ( in uint SubgroupSize)
|
||||
0:126 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
||||
0:127 subgroupBarrier ( global void)
|
||||
0:128 subgroupMemoryBarrier ( global void)
|
||||
0:129 subgroupMemoryBarrierBuffer ( global void)
|
||||
|
|
@ -431,11 +403,11 @@ ERROR: node is still EOpNull!
|
|||
0:135 Function Parameters:
|
||||
0:135 'f4' ( in 4-component vector of float)
|
||||
0:136 Sequence
|
||||
0:136 'gl_SubgroupEqMask' ( temp float)
|
||||
0:137 'gl_SubgroupGeMask' ( temp float)
|
||||
0:138 'gl_SubgroupGtMask' ( temp float)
|
||||
0:139 'gl_SubgroupLeMask' ( temp float)
|
||||
0:140 'gl_SubgroupLtMask' ( temp float)
|
||||
0:136 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
|
||||
0:137 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
|
||||
0:138 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
|
||||
0:139 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
|
||||
0:140 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
|
||||
0:141 subgroupBroadcast ( global 4-component vector of float)
|
||||
0:141 'f4' ( in 4-component vector of float)
|
||||
0:141 Constant:
|
||||
|
|
@ -617,88 +589,67 @@ ERROR: node is still EOpNull!
|
|||
0:224 0 (const uint)
|
||||
0:224 0 (const uint)
|
||||
0:224 0 (const uint)
|
||||
0:225 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:225 subgroupPartitionedAddNV ( global 4-component vector of float)
|
||||
0:225 'f4' ( in 4-component vector of float)
|
||||
0:225 'parti' ( temp 4-component vector of uint)
|
||||
0:226 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:226 subgroupPartitionedMulNV ( global 4-component vector of float)
|
||||
0:226 'f4' ( in 4-component vector of float)
|
||||
0:226 'parti' ( temp 4-component vector of uint)
|
||||
0:227 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:227 subgroupPartitionedMinNV ( global 4-component vector of float)
|
||||
0:227 'f4' ( in 4-component vector of float)
|
||||
0:227 'parti' ( temp 4-component vector of uint)
|
||||
0:228 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:228 subgroupPartitionedMaxNV ( global 4-component vector of float)
|
||||
0:228 'f4' ( in 4-component vector of float)
|
||||
0:228 'parti' ( temp 4-component vector of uint)
|
||||
0:229 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:229 subgroupPartitionedAndNV ( global 4-component vector of uint)
|
||||
0:229 'ballot' ( temp 4-component vector of uint)
|
||||
0:229 'parti' ( temp 4-component vector of uint)
|
||||
0:230 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:230 subgroupPartitionedOrNV ( global 4-component vector of uint)
|
||||
0:230 'ballot' ( temp 4-component vector of uint)
|
||||
0:230 'parti' ( temp 4-component vector of uint)
|
||||
0:231 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:231 subgroupPartitionedXorNV ( global 4-component vector of uint)
|
||||
0:231 'ballot' ( temp 4-component vector of uint)
|
||||
0:231 'parti' ( temp 4-component vector of uint)
|
||||
0:232 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:232 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
|
||||
0:232 'f4' ( in 4-component vector of float)
|
||||
0:232 'parti' ( temp 4-component vector of uint)
|
||||
0:233 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:233 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
|
||||
0:233 'f4' ( in 4-component vector of float)
|
||||
0:233 'parti' ( temp 4-component vector of uint)
|
||||
0:234 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:234 subgroupPartitionedInclusiveMinNV ( global 4-component vector of float)
|
||||
0:234 'f4' ( in 4-component vector of float)
|
||||
0:234 'parti' ( temp 4-component vector of uint)
|
||||
0:235 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:235 subgroupPartitionedInclusiveMaxNV ( global 4-component vector of float)
|
||||
0:235 'f4' ( in 4-component vector of float)
|
||||
0:235 'parti' ( temp 4-component vector of uint)
|
||||
0:236 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:236 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
|
||||
0:236 'ballot' ( temp 4-component vector of uint)
|
||||
0:236 'parti' ( temp 4-component vector of uint)
|
||||
0:237 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:237 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
|
||||
0:237 'ballot' ( temp 4-component vector of uint)
|
||||
0:237 'parti' ( temp 4-component vector of uint)
|
||||
0:238 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:238 subgroupPartitionedInclusiveXorNV ( global 4-component vector of uint)
|
||||
0:238 'ballot' ( temp 4-component vector of uint)
|
||||
0:238 'parti' ( temp 4-component vector of uint)
|
||||
0:239 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:239 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
|
||||
0:239 'f4' ( in 4-component vector of float)
|
||||
0:239 'parti' ( temp 4-component vector of uint)
|
||||
0:240 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:240 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
|
||||
0:240 'f4' ( in 4-component vector of float)
|
||||
0:240 'parti' ( temp 4-component vector of uint)
|
||||
0:241 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:241 subgroupPartitionedExclusiveMinNV ( global 4-component vector of float)
|
||||
0:241 'f4' ( in 4-component vector of float)
|
||||
0:241 'parti' ( temp 4-component vector of uint)
|
||||
0:242 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:242 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
|
||||
0:242 'f4' ( in 4-component vector of float)
|
||||
0:242 'parti' ( temp 4-component vector of uint)
|
||||
0:243 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:243 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
|
||||
0:243 'ballot' ( temp 4-component vector of uint)
|
||||
0:243 'parti' ( temp 4-component vector of uint)
|
||||
0:244 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:244 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
|
||||
0:244 'ballot' ( temp 4-component vector of uint)
|
||||
0:244 'parti' ( temp 4-component vector of uint)
|
||||
0:245 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:245 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
|
||||
0:245 'ballot' ( temp 4-component vector of uint)
|
||||
0:245 'parti' ( temp 4-component vector of uint)
|
||||
0:? Linker Objects
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue