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:
@@ -104,15 +104,15 @@ ERROR: node is still EOpNull!
|
||||
0:3 Function Parameters:
|
||||
0:3 'f4' ( in 4-component vector of float)
|
||||
0:? Sequence
|
||||
0:6 'gl_SubgroupSize' ( in uint unknown built-in variable)
|
||||
0:7 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
|
||||
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 unknown built-in variable)
|
||||
0:14 'gl_SubgroupID' ( in uint unknown built-in variable)
|
||||
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:
|
||||
@@ -122,11 +122,11 @@ ERROR: node is still EOpNull!
|
||||
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 unknown built-in variable)
|
||||
0:22 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:23 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:24 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:25 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
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:
|
||||
@@ -262,88 +262,67 @@ ERROR: node is still EOpNull!
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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 ERROR: Bad aggregation op
|
||||
( global 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
|
||||
@@ -357,7 +336,7 @@ ERROR: node is still EOpNull!
|
||||
0:114 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:114 Constant:
|
||||
0:114 0 (const int)
|
||||
0:114 'gl_SubgroupSize' ( in uint unknown built-in variable)
|
||||
0:114 'gl_SubgroupSize' ( in uint SubgroupSize)
|
||||
0:114 Constant:
|
||||
0:114 1 (const int)
|
||||
0:115 move second child to first child ( temp int)
|
||||
@@ -366,7 +345,7 @@ ERROR: node is still EOpNull!
|
||||
0:115 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:115 Constant:
|
||||
0:115 0 (const int)
|
||||
0:115 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
|
||||
0:115 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
||||
0:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:116 move second child to first child ( temp int)
|
||||
@@ -375,7 +354,7 @@ ERROR: node is still EOpNull!
|
||||
0:116 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:116 Constant:
|
||||
0:116 0 (const int)
|
||||
0:116 'gl_NumSubgroups' ( in uint unknown built-in variable)
|
||||
0:116 'gl_NumSubgroups' ( in uint NumSubgroups)
|
||||
0:116 Constant:
|
||||
0:116 1 (const int)
|
||||
0:117 move second child to first child ( temp int)
|
||||
@@ -384,7 +363,7 @@ ERROR: node is still EOpNull!
|
||||
0:117 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:117 Constant:
|
||||
0:117 0 (const int)
|
||||
0:117 'gl_SubgroupID' ( in uint unknown built-in variable)
|
||||
0:117 'gl_SubgroupID' ( in uint SubgroupID)
|
||||
0:117 Test condition and select ( temp int)
|
||||
0:117 Condition
|
||||
0:117 subgroupElect ( global bool)
|
||||
@@ -403,11 +382,11 @@ ERROR: node is still EOpNull!
|
||||
0:126 Function Parameters:
|
||||
0:126 'f4' ( in 4-component vector of float)
|
||||
0:127 Sequence
|
||||
0:127 'gl_SubgroupEqMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:128 'gl_SubgroupGeMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:129 'gl_SubgroupGtMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:130 'gl_SubgroupLeMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:131 'gl_SubgroupLtMask' ( in 4-component vector of uint unknown built-in variable)
|
||||
0:127 'gl_SubgroupEqMask' ( in 4-component vector of uint SubgroupEqMask)
|
||||
0:128 'gl_SubgroupGeMask' ( in 4-component vector of uint SubgroupGeMask)
|
||||
0:129 'gl_SubgroupGtMask' ( in 4-component vector of uint SubgroupGtMask)
|
||||
0:130 'gl_SubgroupLeMask' ( in 4-component vector of uint SubgroupLeMask)
|
||||
0:131 'gl_SubgroupLtMask' ( in 4-component vector of uint SubgroupLtMask)
|
||||
0:132 subgroupBroadcast ( global 4-component vector of float)
|
||||
0:132 'f4' ( in 4-component vector of float)
|
||||
0:132 Constant:
|
||||
@@ -589,88 +568,67 @@ ERROR: node is still EOpNull!
|
||||
0:215 0 (const uint)
|
||||
0:215 0 (const uint)
|
||||
0:215 0 (const uint)
|
||||
0:216 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:216 subgroupPartitionedAddNV ( global 4-component vector of float)
|
||||
0:216 'f4' ( in 4-component vector of float)
|
||||
0:216 'parti' ( temp 4-component vector of uint)
|
||||
0:217 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:217 subgroupPartitionedMulNV ( global 4-component vector of float)
|
||||
0:217 'f4' ( in 4-component vector of float)
|
||||
0:217 'parti' ( temp 4-component vector of uint)
|
||||
0:218 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:218 subgroupPartitionedMinNV ( global 4-component vector of float)
|
||||
0:218 'f4' ( in 4-component vector of float)
|
||||
0:218 'parti' ( temp 4-component vector of uint)
|
||||
0:219 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:219 subgroupPartitionedMaxNV ( global 4-component vector of float)
|
||||
0:219 'f4' ( in 4-component vector of float)
|
||||
0:219 'parti' ( temp 4-component vector of uint)
|
||||
0:220 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:220 subgroupPartitionedAndNV ( global 4-component vector of uint)
|
||||
0:220 'ballot' ( temp 4-component vector of uint)
|
||||
0:220 'parti' ( temp 4-component vector of uint)
|
||||
0:221 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:221 subgroupPartitionedOrNV ( global 4-component vector of uint)
|
||||
0:221 'ballot' ( temp 4-component vector of uint)
|
||||
0:221 'parti' ( temp 4-component vector of uint)
|
||||
0:222 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:222 subgroupPartitionedXorNV ( global 4-component vector of uint)
|
||||
0:222 'ballot' ( temp 4-component vector of uint)
|
||||
0:222 'parti' ( temp 4-component vector of uint)
|
||||
0:223 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:223 subgroupPartitionedInclusiveAddNV ( global 4-component vector of float)
|
||||
0:223 'f4' ( in 4-component vector of float)
|
||||
0:223 'parti' ( temp 4-component vector of uint)
|
||||
0:224 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:224 subgroupPartitionedInclusiveMulNV ( global 4-component vector of float)
|
||||
0:224 'f4' ( in 4-component vector of float)
|
||||
0:224 'parti' ( temp 4-component vector of uint)
|
||||
0:225 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:225 subgroupPartitionedInclusiveMinNV ( 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 subgroupPartitionedInclusiveMaxNV ( 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 uint)
|
||||
0:227 subgroupPartitionedInclusiveAndNV ( global 4-component vector of uint)
|
||||
0:227 'ballot' ( temp 4-component vector of uint)
|
||||
0:227 'parti' ( temp 4-component vector of uint)
|
||||
0:228 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:228 subgroupPartitionedInclusiveOrNV ( global 4-component vector of uint)
|
||||
0:228 'ballot' ( temp 4-component vector of uint)
|
||||
0:228 'parti' ( temp 4-component vector of uint)
|
||||
0:229 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:229 subgroupPartitionedInclusiveXorNV ( 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 float)
|
||||
0:230 subgroupPartitionedExclusiveAddNV ( global 4-component vector of float)
|
||||
0:230 'f4' ( in 4-component vector of float)
|
||||
0:230 'parti' ( temp 4-component vector of uint)
|
||||
0:231 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:231 subgroupPartitionedExclusiveMulNV ( global 4-component vector of float)
|
||||
0:231 'f4' ( in 4-component vector of float)
|
||||
0:231 'parti' ( temp 4-component vector of uint)
|
||||
0:232 ERROR: Bad aggregation op
|
||||
( global 4-component vector of float)
|
||||
0:232 subgroupPartitionedExclusiveMinNV ( 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 subgroupPartitionedExclusiveMaxNV ( 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 uint)
|
||||
0:234 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
|
||||
0:234 'ballot' ( temp 4-component vector of uint)
|
||||
0:234 'parti' ( temp 4-component vector of uint)
|
||||
0:235 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:235 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
|
||||
0:235 'ballot' ( temp 4-component vector of uint)
|
||||
0:235 'parti' ( temp 4-component vector of uint)
|
||||
0:236 ERROR: Bad aggregation op
|
||||
( global 4-component vector of uint)
|
||||
0:236 subgroupPartitionedExclusiveXorNV ( 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:? Linker Objects
|
||||
@@ -705,7 +663,7 @@ ERROR: node is still EOpNull!
|
||||
0:114 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:114 Constant:
|
||||
0:114 0 (const int)
|
||||
0:114 'gl_SubgroupSize' ( in uint unknown built-in variable)
|
||||
0:114 'gl_SubgroupSize' ( in uint SubgroupSize)
|
||||
0:114 Constant:
|
||||
0:114 1 (const int)
|
||||
0:115 move second child to first child ( temp int)
|
||||
@@ -714,7 +672,7 @@ ERROR: node is still EOpNull!
|
||||
0:115 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:115 Constant:
|
||||
0:115 0 (const int)
|
||||
0:115 'gl_SubgroupInvocationID' ( in uint unknown built-in variable)
|
||||
0:115 'gl_SubgroupInvocationID' ( in uint SubgroupInvocationID)
|
||||
0:115 Constant:
|
||||
0:115 1 (const int)
|
||||
0:116 move second child to first child ( temp int)
|
||||
@@ -723,7 +681,7 @@ ERROR: node is still EOpNull!
|
||||
0:116 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:116 Constant:
|
||||
0:116 0 (const int)
|
||||
0:116 'gl_NumSubgroups' ( in uint unknown built-in variable)
|
||||
0:116 'gl_NumSubgroups' ( in uint NumSubgroups)
|
||||
0:116 Constant:
|
||||
0:116 1 (const int)
|
||||
0:117 move second child to first child ( temp int)
|
||||
@@ -732,7 +690,7 @@ ERROR: node is still EOpNull!
|
||||
0:117 'data' (layout( binding=0 column_major shared) buffer block{layout( column_major shared) buffer runtime-sized array of int a})
|
||||
0:117 Constant:
|
||||
0:117 0 (const int)
|
||||
0:117 'gl_SubgroupID' ( in uint unknown built-in variable)
|
||||
0:117 'gl_SubgroupID' ( in uint SubgroupID)
|
||||
0:117 Test condition and select ( temp int)
|
||||
0:117 Condition
|
||||
0:117 subgroupElect ( global bool)
|
||||
|
||||
Reference in New Issue
Block a user