Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
G
glslang
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Chen Yisong
glslang
Commits
765cee84
Commit
765cee84
authored
Oct 14, 2019
by
John Kessenich
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
GLSL/SPV: Pre SPIR-V 1.5, subgroupQuadBroadcast index must be constant
parent
101ca388
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
223 additions
and
208 deletions
+223
-208
glsl.450.subgroup.frag.out
Test/baseResults/glsl.450.subgroup.frag.out
+218
-208
glsl.450.subgroup.frag
Test/glsl.450.subgroup.frag
+4
-0
ParseHelper.cpp
glslang/MachineIndependent/ParseHelper.cpp
+1
-0
No files found.
Test/baseResults/glsl.450.subgroup.frag.out
View file @
765cee84
...
@@ -85,11 +85,13 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
...
@@ -85,11 +85,13 @@ ERROR: 0:95: 'subgroupPartitionedExclusiveMaxNV' : required extension not reques
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:232: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:124: 'id' : argument must be compile-time constant
ERROR: 0:233: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:199: 'id' : argument must be compile-time constant
ERROR: 0:234: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:236: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:235: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:237: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
ERROR: 0:238: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:239: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 92 compilation errors. No code generated.
Shader version: 450
Shader version: 450
...
@@ -352,270 +354,278 @@ ERROR: node is still EOpNull!
...
@@ -352,270 +354,278 @@ ERROR: node is still EOpNull!
0:116 Function Definition: ballot_works(vf4; ( global void)
0:116 Function Definition: ballot_works(vf4; ( global void)
0:116 Function Parameters:
0:116 Function Parameters:
0:116 'f4' ( in 4-component vector of float)
0:116 'f4' ( in 4-component vector of float)
0:117 Sequence
0:? Sequence
0:117 'gl_SubgroupEqMask' ( flat in 4-component vector of uint SubgroupEqMask)
0:118 'gl_SubgroupEqMask' ( flat in 4-component vector of uint SubgroupEqMask)
0:118 'gl_SubgroupGeMask' ( flat in 4-component vector of uint SubgroupGeMask)
0:119 'gl_SubgroupGeMask' ( flat in 4-component vector of uint SubgroupGeMask)
0:119 'gl_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:120 'gl_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:120 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:121 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:121 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:122 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:122 subgroupBroadcast ( global 4-component vector of float)
0:123 subgroupBroadcast ( global 4-component vector of float)
0:122 'f4' ( in 4-component vector of float)
0:122 Constant:
0:122 0 (const uint)
0:123 subgroupBroadcastFirst ( global 4-component vector of float)
0:123 'f4' ( in 4-component vector of float)
0:123 'f4' ( in 4-component vector of float)
0:124 Sequence
0:123 Constant:
0:124 move second child to first child ( temp 4-component vector of uint)
0:123 0 (const uint)
0:124 'ballot' ( temp 4-component vector of uint)
0:124 subgroupBroadcast ( global 4-component vector of float)
0:124 subgroupBallot ( global 4-component vector of uint)
0:124 'f4' ( in 4-component vector of float)
0:124 Constant:
0:124 Convert int to uint ( temp uint)
0:124 false (const bool)
0:124 'i' ( temp int)
0:125 subgroupInverseBallot ( global bool)
0:125 subgroupBroadcastFirst ( global 4-component vector of float)
0:125 Constant:
0:125 'f4' ( in 4-component vector of float)
0:125 1 (const uint)
0:126 Sequence
0:125 1 (const uint)
0:126 move second child to first child ( temp 4-component vector of uint)
0:125 1 (const uint)
0:125 1 (const uint)
0:126 subgroupBallotBitExtract ( global bool)
0:126 'ballot' ( temp 4-component vector of uint)
0:126 'ballot' ( temp 4-component vector of uint)
0:126 subgroupBallot ( global 4-component vector of uint)
0:126 Constant:
0:126 Constant:
0:126 0 (const uint)
0:126 false (const bool)
0:127 subgroupBallotBitCount ( global uint)
0:127 subgroupInverseBallot ( global bool)
0:127 'ballot' ( temp 4-component vector of uint)
0:127 Constant:
0:128 subgroupBallotInclusiveBitCount ( global uint)
0:127 1 (const uint)
0:127 1 (const uint)
0:127 1 (const uint)
0:127 1 (const uint)
0:128 subgroupBallotBitExtract ( global bool)
0:128 'ballot' ( temp 4-component vector of uint)
0:128 'ballot' ( temp 4-component vector of uint)
0:129 subgroupBallotExclusiveBitCount ( global uint)
0:128 Constant:
0:128 0 (const uint)
0:129 subgroupBallotBitCount ( global uint)
0:129 'ballot' ( temp 4-component vector of uint)
0:129 'ballot' ( temp 4-component vector of uint)
0:130 subgroupBallot
FindLSB
( global uint)
0:130 subgroupBallot
InclusiveBitCount
( global uint)
0:130 'ballot' ( temp 4-component vector of uint)
0:130 'ballot' ( temp 4-component vector of uint)
0:131 subgroupBallot
FindMSB
( global uint)
0:131 subgroupBallot
ExclusiveBitCount
( global uint)
0:131 'ballot' ( temp 4-component vector of uint)
0:131 'ballot' ( temp 4-component vector of uint)
0:135 Function Definition: vote_works(vf4; ( global void)
0:132 subgroupBallotFindLSB ( global uint)
0:135 Function Parameters:
0:132 'ballot' ( temp 4-component vector of uint)
0:135 'f4' ( in 4-component vector of float)
0:133 subgroupBallotFindMSB ( global uint)
0:137 Sequence
0:133 'ballot' ( temp 4-component vector of uint)
0:137 subgroupAll ( global bool)
0:137 Function Definition: vote_works(vf4; ( global void)
0:137 Constant:
0:137 Function Parameters:
0:137 true (const bool)
0:137 'f4' ( in 4-component vector of float)
0:138 subgroupAny ( global bool)
0:139 Sequence
0:138 Constant:
0:139 subgroupAll ( global bool)
0:138 false (const bool)
0:139 Constant:
0:139 subgroupAllEqual ( global bool)
0:139 true (const bool)
0:139 'f4' ( in 4-component vector of float)
0:140 subgroupAny ( global bool)
0:144 Function Definition: shuffle_works(vf4; ( global void)
0:140 Constant:
0:144 Function Parameters:
0:140 false (const bool)
0:144 'f4' ( in 4-component vector of float)
0:141 subgroupAllEqual ( global bool)
0:146 Sequence
0:141 'f4' ( in 4-component vector of float)
0:146 subgroupShuffle ( global 4-component vector of float)
0:146 Function Definition: shuffle_works(vf4; ( global void)
0:146 Function Parameters:
0:146 'f4' ( in 4-component vector of float)
0:146 'f4' ( in 4-component vector of float)
0:146 Constant:
0:148 Sequence
0:146 0 (const uint)
0:148 subgroupShuffle ( global 4-component vector of float)
0:147 subgroupShuffleXor ( global 4-component vector of float)
0:147 'f4' ( in 4-component vector of float)
0:147 Constant:
0:147 1 (const uint)
0:148 subgroupShuffleUp ( global 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:148 Constant:
0:148 Constant:
0:148
1
(const uint)
0:148
0
(const uint)
0:149 subgroupShuffle
Down
( global 4-component vector of float)
0:149 subgroupShuffle
Xor
( global 4-component vector of float)
0:149 'f4' ( in 4-component vector of float)
0:149 'f4' ( in 4-component vector of float)
0:149 Constant:
0:149 Constant:
0:149 1 (const uint)
0:149 1 (const uint)
0:153 Function Definition: arith_works(vf4; ( global void)
0:150 subgroupShuffleUp ( global 4-component vector of float)
0:153 Function Parameters:
0:150 'f4' ( in 4-component vector of float)
0:153 'f4' ( in 4-component vector of float)
0:150 Constant:
0:150 1 (const uint)
0:151 subgroupShuffleDown ( global 4-component vector of float)
0:151 'f4' ( in 4-component vector of float)
0:151 Constant:
0:151 1 (const uint)
0:155 Function Definition: arith_works(vf4; ( global void)
0:155 Function Parameters:
0:155 'f4' ( in 4-component vector of float)
0:? Sequence
0:? Sequence
0:156 subgroupAdd ( global 4-component vector of float)
0:158 subgroupAdd ( global 4-component vector of float)
0:156 'f4' ( in 4-component vector of float)
0:157 subgroupMul ( global 4-component vector of float)
0:157 'f4' ( in 4-component vector of float)
0:158 subgroupMin ( global 4-component vector of float)
0:158 'f4' ( in 4-component vector of float)
0:158 'f4' ( in 4-component vector of float)
0:159 subgroupM
ax
( global 4-component vector of float)
0:159 subgroupM
ul
( global 4-component vector of float)
0:159 'f4' ( in 4-component vector of float)
0:159 'f4' ( in 4-component vector of float)
0:160 subgroup
And ( global 4-component vector of uin
t)
0:160 subgroup
Min ( global 4-component vector of floa
t)
0:160 '
ballot' ( temp 4-component vector of uin
t)
0:160 '
f4' ( in 4-component vector of floa
t)
0:161 subgroup
Or ( global 4-component vector of uin
t)
0:161 subgroup
Max ( global 4-component vector of floa
t)
0:161 '
ballot' ( temp 4-component vector of uin
t)
0:161 '
f4' ( in 4-component vector of floa
t)
0:162 subgroup
Xor
( global 4-component vector of uint)
0:162 subgroup
And
( global 4-component vector of uint)
0:162 'ballot' ( temp 4-component vector of uint)
0:162 'ballot' ( temp 4-component vector of uint)
0:163 subgroup
InclusiveAdd ( global 4-component vector of floa
t)
0:163 subgroup
Or ( global 4-component vector of uin
t)
0:163 '
f4' ( in 4-component vector of floa
t)
0:163 '
ballot' ( temp 4-component vector of uin
t)
0:164 subgroup
InclusiveMul ( global 4-component vector of floa
t)
0:164 subgroup
Xor ( global 4-component vector of uin
t)
0:164 '
f4' ( in 4-component vector of floa
t)
0:164 '
ballot' ( temp 4-component vector of uin
t)
0:165 subgroupInclusive
Min
( global 4-component vector of float)
0:165 subgroupInclusive
Add
( global 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:165 'f4' ( in 4-component vector of float)
0:166 subgroupInclusiveM
ax
( global 4-component vector of float)
0:166 subgroupInclusiveM
ul
( global 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:166 'f4' ( in 4-component vector of float)
0:167 subgroupInclusive
And ( global 4-component vector of uin
t)
0:167 subgroupInclusive
Min ( global 4-component vector of floa
t)
0:167 '
ballot' ( temp 4-component vector of uin
t)
0:167 '
f4' ( in 4-component vector of floa
t)
0:168 subgroupInclusive
Or ( global 4-component vector of uin
t)
0:168 subgroupInclusive
Max ( global 4-component vector of floa
t)
0:168 '
ballot' ( temp 4-component vector of uin
t)
0:168 '
f4' ( in 4-component vector of floa
t)
0:169 subgroupInclusive
Xor
( global 4-component vector of uint)
0:169 subgroupInclusive
And
( global 4-component vector of uint)
0:169 'ballot' ( temp 4-component vector of uint)
0:169 'ballot' ( temp 4-component vector of uint)
0:170 subgroup
ExclusiveAdd ( global 4-component vector of floa
t)
0:170 subgroup
InclusiveOr ( global 4-component vector of uin
t)
0:170 '
f4' ( in 4-component vector of floa
t)
0:170 '
ballot' ( temp 4-component vector of uin
t)
0:171 subgroup
ExclusiveMul ( global 4-component vector of floa
t)
0:171 subgroup
InclusiveXor ( global 4-component vector of uin
t)
0:171 '
f4' ( in 4-component vector of floa
t)
0:171 '
ballot' ( temp 4-component vector of uin
t)
0:172 subgroupExclusive
Min
( global 4-component vector of float)
0:172 subgroupExclusive
Add
( global 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:172 'f4' ( in 4-component vector of float)
0:173 subgroupExclusiveM
ax
( global 4-component vector of float)
0:173 subgroupExclusiveM
ul
( global 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:173 'f4' ( in 4-component vector of float)
0:174 subgroupExclusive
And ( global 4-component vector of uin
t)
0:174 subgroupExclusive
Min ( global 4-component vector of floa
t)
0:174 '
ballot' ( temp 4-component vector of uin
t)
0:174 '
f4' ( in 4-component vector of floa
t)
0:175 subgroupExclusive
Or ( global 4-component vector of uin
t)
0:175 subgroupExclusive
Max ( global 4-component vector of floa
t)
0:175 '
ballot' ( temp 4-component vector of uin
t)
0:175 '
f4' ( in 4-component vector of floa
t)
0:176 subgroupExclusive
Xor
( global 4-component vector of uint)
0:176 subgroupExclusive
And
( global 4-component vector of uint)
0:176 'ballot' ( temp 4-component vector of uint)
0:176 'ballot' ( temp 4-component vector of uint)
0:180 Function Definition: clustered_works(vf4; ( global void)
0:177 subgroupExclusiveOr ( global 4-component vector of uint)
0:180 Function Parameters:
0:177 'ballot' ( temp 4-component vector of uint)
0:180 'f4' ( in 4-component vector of float)
0:178 subgroupExclusiveXor ( global 4-component vector of uint)
0:182 Sequence
0:178 'ballot' ( temp 4-component vector of uint)
0:182 Sequence
0:182 Function Definition: clustered_works(vf4; ( global void)
0:182 move second child to first child ( temp 4-component vector of uint)
0:182 Function Parameters:
0:182 'ballot' ( temp 4-component vector of uint)
0:182 'f4' ( in 4-component vector of float)
0:182 Constant:
0:184 Sequence
0:182 85 (const uint)
0:184 Sequence
0:182 0 (const uint)
0:184 move second child to first child ( temp 4-component vector of uint)
0:182 0 (const uint)
0:184 'ballot' ( temp 4-component vector of uint)
0:182 0 (const uint)
0:183 subgroupClusteredAdd ( global 4-component vector of float)
0:183 'f4' ( in 4-component vector of float)
0:183 Constant:
0:183 2 (const uint)
0:184 subgroupClusteredMul ( global 4-component vector of float)
0:184 'f4' ( in 4-component vector of float)
0:184 Constant:
0:184 Constant:
0:184 2 (const uint)
0:184 85 (const uint)
0:185 subgroupClusteredMin ( global 4-component vector of float)
0:184 0 (const uint)
0:184 0 (const uint)
0:184 0 (const uint)
0:185 subgroupClusteredAdd ( global 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:185 'f4' ( in 4-component vector of float)
0:185 Constant:
0:185 Constant:
0:185 2 (const uint)
0:185 2 (const uint)
0:186 subgroupClusteredM
ax
( global 4-component vector of float)
0:186 subgroupClusteredM
ul
( global 4-component vector of float)
0:186 'f4' ( in 4-component vector of float)
0:186 'f4' ( in 4-component vector of float)
0:186 Constant:
0:186 Constant:
0:186 2 (const uint)
0:186 2 (const uint)
0:187 subgroupClustered
And ( global 4-component vector of uin
t)
0:187 subgroupClustered
Min ( global 4-component vector of floa
t)
0:187 '
ballot' ( temp 4-component vector of uin
t)
0:187 '
f4' ( in 4-component vector of floa
t)
0:187 Constant:
0:187 Constant:
0:187 2 (const uint)
0:187 2 (const uint)
0:188 subgroupClustered
Or ( global 4-component vector of uin
t)
0:188 subgroupClustered
Max ( global 4-component vector of floa
t)
0:188 '
ballot' ( temp 4-component vector of uin
t)
0:188 '
f4' ( in 4-component vector of floa
t)
0:188 Constant:
0:188 Constant:
0:188 2 (const uint)
0:188 2 (const uint)
0:189 subgroupClustered
Xor
( global 4-component vector of uint)
0:189 subgroupClustered
And
( global 4-component vector of uint)
0:189 'ballot' ( temp 4-component vector of uint)
0:189 'ballot' ( temp 4-component vector of uint)
0:189 Constant:
0:189 Constant:
0:189 2 (const uint)
0:189 2 (const uint)
0:193 Function Definition: quad_works(vf4; ( global void)
0:190 subgroupClusteredOr ( global 4-component vector of uint)
0:193 Function Parameters:
0:190 'ballot' ( temp 4-component vector of uint)
0:193 'f4' ( in 4-component vector of float)
0:190 Constant:
0:195 Sequence
0:190 2 (const uint)
0:195 subgroupQuadBroadcast ( global 4-component vector of float)
0:191 subgroupClusteredXor ( global 4-component vector of uint)
0:191 'ballot' ( temp 4-component vector of uint)
0:191 Constant:
0:191 2 (const uint)
0:195 Function Definition: quad_works(vf4; ( global void)
0:195 Function Parameters:
0:195 'f4' ( in 4-component vector of float)
0:195 'f4' ( in 4-component vector of float)
0:195 Constant:
0:? Sequence
0:195 0 (const uint)
0:198 subgroupQuadBroadcast ( global 4-component vector of float)
0:196 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:196 'f4' ( in 4-component vector of float)
0:197 subgroupQuadSwapVertical ( global 4-component vector of float)
0:197 'f4' ( in 4-component vector of float)
0:198 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:202 Function Definition: partitioned_works(vf4; ( global void)
0:198 Constant:
0:202 Function Parameters:
0:198 0 (const uint)
0:199 subgroupQuadBroadcast ( global 4-component vector of float)
0:199 'f4' ( in 4-component vector of float)
0:199 Convert int to uint ( temp uint)
0:199 'i' ( temp int)
0:200 subgroupQuadSwapHorizontal ( global 4-component vector of float)
0:200 'f4' ( in 4-component vector of float)
0:201 subgroupQuadSwapVertical ( global 4-component vector of float)
0:201 'f4' ( in 4-component vector of float)
0:202 subgroupQuadSwapDiagonal ( global 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:202 'f4' ( in 4-component vector of float)
0:204 Sequence
0:206 Function Definition: partitioned_works(vf4; ( global void)
0:204 Sequence
0:206 Function Parameters:
0:204 move second child to first child ( temp 4-component vector of uint)
0:204 'parti' ( temp 4-component vector of uint)
0:204 subgroupPartitionNV ( global 4-component vector of uint)
0:204 'f4' ( in 4-component vector of float)
0:205 Sequence
0:205 move second child to first child ( temp 4-component vector of uint)
0:205 'ballot' ( temp 4-component vector of uint)
0:205 Constant:
0:205 85 (const uint)
0:205 0 (const uint)
0:205 0 (const uint)
0:205 0 (const uint)
0:206 subgroupPartitionedAddNV ( global 4-component vector of float)
0:206 'f4' ( in 4-component vector of float)
0:206 'f4' ( in 4-component vector of float)
0:206 'parti' ( temp 4-component vector of uint)
0:208 Sequence
0:207 subgroupPartitionedMulNV ( global 4-component vector of float)
0:208 Sequence
0:207 'f4' ( in 4-component vector of float)
0:208 move second child to first child ( temp 4-component vector of uint)
0:207 'parti' ( temp 4-component vector of uint)
0:208 subgroupPartitionedMinNV ( global 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:208 'parti' ( temp 4-component vector of uint)
0:208 'parti' ( temp 4-component vector of uint)
0:209 subgroupPartitionedMaxNV ( global 4-component vector of float)
0:208 subgroupPartitionNV ( global 4-component vector of uint)
0:209 'f4' ( in 4-component vector of float)
0:208 'f4' ( in 4-component vector of float)
0:209 'parti' ( temp 4-component vector of uint)
0:209 Sequence
0:210 subgroupPartitionedAndNV ( global 4-component vector of uint)
0:209 move second child to first child ( temp 4-component vector of uint)
0:210 'ballot' ( temp 4-component vector of uint)
0:209 'ballot' ( temp 4-component vector of uint)
0:209 Constant:
0:209 85 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:209 0 (const uint)
0:210 subgroupPartitionedAddNV ( global 4-component vector of float)
0:210 'f4' ( in 4-component vector of float)
0:210 'parti' ( temp 4-component vector of uint)
0:210 'parti' ( temp 4-component vector of uint)
0:211 subgroupPartitioned
OrNV ( global 4-component vector of uin
t)
0:211 subgroupPartitioned
MulNV ( global 4-component vector of floa
t)
0:211 '
ballot' ( temp 4-component vector of uin
t)
0:211 '
f4' ( in 4-component vector of floa
t)
0:211 'parti' ( temp 4-component vector of uint)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitioned
XorNV ( global 4-component vector of uin
t)
0:212 subgroupPartitioned
MinNV ( global 4-component vector of floa
t)
0:212 '
ballot' ( temp 4-component vector of uin
t)
0:212 '
f4' ( in 4-component vector of floa
t)
0:212 'parti' ( temp 4-component vector of uint)
0:212 'parti' ( temp 4-component vector of uint)
0:213 subgroupPartitioned
InclusiveAdd
NV ( global 4-component vector of float)
0:213 subgroupPartitioned
Max
NV ( global 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'f4' ( in 4-component vector of float)
0:213 'parti' ( temp 4-component vector of uint)
0:213 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitioned
InclusiveMulNV ( global 4-component vector of floa
t)
0:214 subgroupPartitioned
AndNV ( global 4-component vector of uin
t)
0:214 '
f4' ( in 4-component vector of floa
t)
0:214 '
ballot' ( temp 4-component vector of uin
t)
0:214 'parti' ( temp 4-component vector of uint)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitioned
InclusiveMinNV ( global 4-component vector of floa
t)
0:215 subgroupPartitioned
OrNV ( global 4-component vector of uin
t)
0:215 '
f4' ( in 4-component vector of floa
t)
0:215 '
ballot' ( temp 4-component vector of uin
t)
0:215 'parti' ( temp 4-component vector of uint)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitioned
InclusiveMaxNV ( global 4-component vector of floa
t)
0:216 subgroupPartitioned
XorNV ( global 4-component vector of uin
t)
0:216 '
f4' ( in 4-component vector of floa
t)
0:216 '
ballot' ( temp 4-component vector of uin
t)
0:216 'parti' ( temp 4-component vector of uint)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedInclusiveA
ndNV ( global 4-component vector of uin
t)
0:217 subgroupPartitionedInclusiveA
ddNV ( global 4-component vector of floa
t)
0:217 '
ballot' ( temp 4-component vector of uin
t)
0:217 '
f4' ( in 4-component vector of floa
t)
0:217 'parti' ( temp 4-component vector of uint)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusive
OrNV ( global 4-component vector of uin
t)
0:218 subgroupPartitionedInclusive
MulNV ( global 4-component vector of floa
t)
0:218 '
ballot' ( temp 4-component vector of uin
t)
0:218 '
f4' ( in 4-component vector of floa
t)
0:218 'parti' ( temp 4-component vector of uint)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusive
XorNV ( global 4-component vector of uin
t)
0:219 subgroupPartitionedInclusive
MinNV ( global 4-component vector of floa
t)
0:219 '
ballot' ( temp 4-component vector of uin
t)
0:219 '
f4' ( in 4-component vector of floa
t)
0:219 'parti' ( temp 4-component vector of uint)
0:219 'parti' ( temp 4-component vector of uint)
0:220 subgroupPartitioned
ExclusiveAdd
NV ( global 4-component vector of float)
0:220 subgroupPartitioned
InclusiveMax
NV ( global 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'f4' ( in 4-component vector of float)
0:220 'parti' ( temp 4-component vector of uint)
0:220 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitioned
ExclusiveMulNV ( global 4-component vector of floa
t)
0:221 subgroupPartitioned
InclusiveAndNV ( global 4-component vector of uin
t)
0:221 '
f4' ( in 4-component vector of floa
t)
0:221 '
ballot' ( temp 4-component vector of uin
t)
0:221 'parti' ( temp 4-component vector of uint)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitioned
ExclusiveMinNV ( global 4-component vector of floa
t)
0:222 subgroupPartitioned
InclusiveOrNV ( global 4-component vector of uin
t)
0:222 '
f4' ( in 4-component vector of floa
t)
0:222 '
ballot' ( temp 4-component vector of uin
t)
0:222 'parti' ( temp 4-component vector of uint)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitioned
ExclusiveMaxNV ( global 4-component vector of floa
t)
0:223 subgroupPartitioned
InclusiveXorNV ( global 4-component vector of uin
t)
0:223 '
f4' ( in 4-component vector of floa
t)
0:223 '
ballot' ( temp 4-component vector of uin
t)
0:223 'parti' ( temp 4-component vector of uint)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedExclusiveA
ndNV ( global 4-component vector of uin
t)
0:224 subgroupPartitionedExclusiveA
ddNV ( global 4-component vector of floa
t)
0:224 '
ballot' ( temp 4-component vector of uin
t)
0:224 '
f4' ( in 4-component vector of floa
t)
0:224 'parti' ( temp 4-component vector of uint)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusive
OrNV ( global 4-component vector of uin
t)
0:225 subgroupPartitionedExclusive
MulNV ( global 4-component vector of floa
t)
0:225 '
ballot' ( temp 4-component vector of uin
t)
0:225 '
f4' ( in 4-component vector of floa
t)
0:225 'parti' ( temp 4-component vector of uint)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusive
XorNV ( global 4-component vector of uin
t)
0:226 subgroupPartitionedExclusive
MinNV ( global 4-component vector of floa
t)
0:226 '
ballot' ( temp 4-component vector of uin
t)
0:226 '
f4' ( in 4-component vector of floa
t)
0:226 'parti' ( temp 4-component vector of uint)
0:226 'parti' ( temp 4-component vector of uint)
0:230 Function Definition: sm_builtins_err( ( global void)
0:227 subgroupPartitionedExclusiveMaxNV ( global 4-component vector of float)
0:230 Function Parameters:
0:227 'f4' ( in 4-component vector of float)
0:232 Sequence
0:227 'parti' ( temp 4-component vector of uint)
0:232 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:228 subgroupPartitionedExclusiveAndNV ( global 4-component vector of uint)
0:233 'gl_SMCountNV' ( flat in uint SMCountNV)
0:228 'ballot' ( temp 4-component vector of uint)
0:234 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:228 'parti' ( temp 4-component vector of uint)
0:235 'gl_SMIDNV' ( flat in uint SMIDNV)
0:229 subgroupPartitionedExclusiveOrNV ( global 4-component vector of uint)
0:242 Function Definition: sm_builtins( ( global void)
0:229 'ballot' ( temp 4-component vector of uint)
0:242 Function Parameters:
0:229 'parti' ( temp 4-component vector of uint)
0:244 Sequence
0:230 subgroupPartitionedExclusiveXorNV ( global 4-component vector of uint)
0:244 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:230 'ballot' ( temp 4-component vector of uint)
0:245 'gl_SMCountNV' ( flat in uint SMCountNV)
0:230 'parti' ( temp 4-component vector of uint)
0:246 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:234 Function Definition: sm_builtins_err( ( global void)
0:247 'gl_SMIDNV' ( flat in uint SMIDNV)
0:234 Function Parameters:
0:236 Sequence
0:236 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:237 'gl_SMCountNV' ( flat in uint SMCountNV)
0:238 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:239 'gl_SMIDNV' ( flat in uint SMIDNV)
0:246 Function Definition: sm_builtins( ( global void)
0:246 Function Parameters:
0:248 Sequence
0:248 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:249 'gl_SMCountNV' ( flat in uint SMCountNV)
0:250 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:251 'gl_SMIDNV' ( flat in uint SMIDNV)
0:? Linker Objects
0:? Linker Objects
0:? 'data' (layout( location=0) out 4-component vector of uint)
0:? 'data' (layout( location=0) out 4-component vector of uint)
...
...
Test/glsl.450.subgroup.frag
View file @
765cee84
...
@@ -114,12 +114,14 @@ void main (void)
...
@@ -114,12 +114,14 @@ void main (void)
#extension GL_KHR_shader_subgroup_ballot: enable
#extension GL_KHR_shader_subgroup_ballot: enable
void
ballot_works
(
vec4
f4
)
{
void
ballot_works
(
vec4
f4
)
{
int
i
;
gl_SubgroupEqMask
;
gl_SubgroupEqMask
;
gl_SubgroupGeMask
;
gl_SubgroupGeMask
;
gl_SubgroupGtMask
;
gl_SubgroupGtMask
;
gl_SubgroupLeMask
;
gl_SubgroupLeMask
;
gl_SubgroupLtMask
;
gl_SubgroupLtMask
;
subgroupBroadcast
(
f4
,
0
);
subgroupBroadcast
(
f4
,
0
);
subgroupBroadcast
(
f4
,
i
);
subgroupBroadcastFirst
(
f4
);
subgroupBroadcastFirst
(
f4
);
uvec4
ballot
=
subgroupBallot
(
false
);
uvec4
ballot
=
subgroupBallot
(
false
);
subgroupInverseBallot
(
uvec4
(
0x1
));
subgroupInverseBallot
(
uvec4
(
0x1
));
...
@@ -192,7 +194,9 @@ void clustered_works(vec4 f4)
...
@@ -192,7 +194,9 @@ void clustered_works(vec4 f4)
#extension GL_KHR_shader_subgroup_quad: enable
#extension GL_KHR_shader_subgroup_quad: enable
void
quad_works
(
vec4
f4
)
void
quad_works
(
vec4
f4
)
{
{
int
i
;
subgroupQuadBroadcast
(
f4
,
0
);
subgroupQuadBroadcast
(
f4
,
0
);
subgroupQuadBroadcast
(
f4
,
i
);
subgroupQuadSwapHorizontal
(
f4
);
subgroupQuadSwapHorizontal
(
f4
);
subgroupQuadSwapVertical
(
f4
);
subgroupQuadSwapVertical
(
f4
);
subgroupQuadSwapDiagonal
(
f4
);
subgroupQuadSwapDiagonal
(
f4
);
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
765cee84
...
@@ -2155,6 +2155,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
...
@@ -2155,6 +2155,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
break
;
break
;
case
EOpSubgroupBroadcast
:
case
EOpSubgroupBroadcast
:
case
EOpSubgroupQuadBroadcast
:
if
(
spvVersion
.
spv
<
EShTargetSpv_1_5
)
{
if
(
spvVersion
.
spv
<
EShTargetSpv_1_5
)
{
// <id> must be an integral constant expression.
// <id> must be an integral constant expression.
if
((
*
argp
)[
1
]
->
getAsConstantUnion
()
==
nullptr
)
if
((
*
argp
)[
1
]
->
getAsConstantUnion
()
==
nullptr
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment