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
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
231 additions
and
216 deletions
+231
-216
glsl.450.subgroup.frag.out
Test/baseResults/glsl.450.subgroup.frag.out
+226
-216
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
ERROR: 0:96: 'subgroupPartitionedExclusiveAndNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:97: 'subgroupPartitionedExclusiveOrNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:98: 'subgroupPartitionedExclusiveXorNV' : required extension not requested: GL_NV_shader_subgroup_partitioned
ERROR: 0:232: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:233: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:234: 'gl_WarpIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:235: 'gl_SMIDNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 90 compilation errors. No code generated.
ERROR: 0:124: 'id' : argument must be compile-time constant
ERROR: 0:199: 'id' : argument must be compile-time constant
ERROR: 0:236: 'gl_WarpsPerSMNV' : required extension not requested: GL_NV_shader_sm_builtins
ERROR: 0:237: 'gl_SMCountNV' : required extension not requested: GL_NV_shader_sm_builtins
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
...
...
@@ -352,270 +354,278 @@ ERROR: node is still EOpNull!
0:116 Function Definition: ballot_works(vf4; ( global void)
0:116 Function Parameters:
0:116 'f4' ( in 4-component vector of float)
0:117 Sequence
0:117 '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_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:120 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:121 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:122 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:? Sequence
0:118 'gl_SubgroupEqMask' ( flat in 4-component vector of uint SubgroupEqMask)
0:119 'gl_SubgroupGeMask' ( flat in 4-component vector of uint SubgroupGeMask)
0:120 'gl_SubgroupGtMask' ( flat in 4-component vector of uint SubgroupGtMask)
0:121 'gl_SubgroupLeMask' ( flat in 4-component vector of uint SubgroupLeMask)
0:122 'gl_SubgroupLtMask' ( flat in 4-component vector of uint SubgroupLtMask)
0:123 subgroupBroadcast ( global 4-component vector of float)
0:123 'f4' ( in 4-component vector of float)
0:124 Sequence
0:124 move second child to first child ( temp 4-component vector of uint)
0:124 'ballot' ( temp 4-component vector of uint)
0:124 subgroupBallot ( global 4-component vector of uint)
0:124 Constant:
0:124 false (const bool)
0:125 subgroupInverseBallot ( global bool)
0:125 Constant:
0:125 1 (const uint)
0:125 1 (const 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 Constant:
0:126 0 (const uint)
0:127 subgroupBallotBitCount ( global uint)
0:127 'ballot' ( temp 4-component vector of uint)
0:128 subgroupBallotInclusiveBitCount ( global uint)
0:123 Constant:
0:123 0 (const uint)
0:124 subgroupBroadcast ( global 4-component vector of float)
0:124 'f4' ( in 4-component vector of float)
0:124 Convert int to uint ( temp uint)
0:124 'i' ( temp int)
0:125 subgroupBroadcastFirst ( global 4-component vector of float)
0:125 'f4' ( in 4-component vector of float)
0:126 Sequence
0:126 move second child to first child ( 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 false (const bool)
0:127 subgroupInverseBallot ( global bool)
0:127 Constant:
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: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:130 subgroupBallot
FindLSB
( global uint)
0:130 subgroupBallot
InclusiveBitCount
( global 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:135 Function Definition: vote_works(vf4; ( global void)
0:135 Function Parameters:
0:135 'f4' ( in 4-component vector of float)
0:137 Sequence
0:137 subgroupAll ( global bool)
0:137 Constant:
0:137 true (const bool)
0:138 subgroupAny ( global bool)
0:138 Constant:
0:138 false (const bool)
0:139 subgroupAllEqual ( global bool)
0:139 'f4' ( in 4-component vector of float)
0:144 Function Definition: shuffle_works(vf4; ( global void)
0:144 Function Parameters:
0:144 'f4' ( in 4-component vector of float)
0:146 Sequence
0:146 subgroupShuffle ( global 4-component vector of float)
0:146 'f4' ( in 4-component vector of float)
0:146 Constant:
0:146 0 (const uint)
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:132 subgroupBallotFindLSB ( global uint)
0:132 'ballot' ( temp 4-component vector of uint)
0:133 subgroupBallotFindMSB ( global uint)
0:133 'ballot' ( temp 4-component vector of uint)
0:137 Function Definition: vote_works(vf4; ( global void)
0:137 Function Parameters:
0:137 'f4' ( in 4-component vector of float)
0:139 Sequence
0:139 subgroupAll ( global bool)
0:139 Constant:
0:139 true (const bool)
0:140 subgroupAny ( global bool)
0:140 Constant:
0:140 false (const bool)
0:141 subgroupAllEqual ( global bool)
0:141 'f4' ( in 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:148 Sequence
0:148 subgroupShuffle ( global 4-component vector of float)
0:148 'f4' ( in 4-component vector of float)
0:148 Constant:
0:148
1
(const uint)
0:149 subgroupShuffle
Down
( global 4-component vector of float)
0:148
0
(const uint)
0:149 subgroupShuffle
Xor
( global 4-component vector of float)
0:149 'f4' ( in 4-component vector of float)
0:149 Constant:
0:149 1 (const uint)
0:153 Function Definition: arith_works(vf4; ( global void)
0:153 Function Parameters:
0:153 'f4' ( in 4-component vector of float)
0:150 subgroupShuffleUp ( global 4-component vector of float)
0:150 '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:156 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 subgroupAdd ( global 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:160 subgroup
And ( global 4-component vector of uin
t)
0:160 '
ballot' ( temp 4-component vector of uin
t)
0:161 subgroup
Or ( global 4-component vector of uin
t)
0:161 '
ballot' ( temp 4-component vector of uin
t)
0:162 subgroup
Xor
( global 4-component vector of uint)
0:160 subgroup
Min ( global 4-component vector of floa
t)
0:160 '
f4' ( in 4-component vector of floa
t)
0:161 subgroup
Max ( global 4-component vector of floa
t)
0:161 '
f4' ( in 4-component vector of floa
t)
0:162 subgroup
And
( global 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 '
f4' ( in 4-component vector of floa
t)
0:164 subgroup
InclusiveMul ( global 4-component vector of floa
t)
0:164 '
f4' ( in 4-component vector of floa
t)
0:165 subgroupInclusive
Min
( global 4-component vector of float)
0:163 subgroup
Or ( global 4-component vector of uin
t)
0:163 '
ballot' ( temp 4-component vector of uin
t)
0:164 subgroup
Xor ( global 4-component vector of uin
t)
0:164 '
ballot' ( temp 4-component vector of uin
t)
0:165 subgroupInclusive
Add
( global 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:167 subgroupInclusive
And ( global 4-component vector of uin
t)
0:167 '
ballot' ( temp 4-component vector of uin
t)
0:168 subgroupInclusive
Or ( global 4-component vector of uin
t)
0:168 '
ballot' ( temp 4-component vector of uin
t)
0:169 subgroupInclusive
Xor
( global 4-component vector of uint)
0:167 subgroupInclusive
Min ( global 4-component vector of floa
t)
0:167 '
f4' ( in 4-component vector of floa
t)
0:168 subgroupInclusive
Max ( global 4-component vector of floa
t)
0:168 '
f4' ( in 4-component vector of floa
t)
0:169 subgroupInclusive
And
( global 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 '
f4' ( in 4-component vector of floa
t)
0:171 subgroup
ExclusiveMul ( global 4-component vector of floa
t)
0:171 '
f4' ( in 4-component vector of floa
t)
0:172 subgroupExclusive
Min
( global 4-component vector of float)
0:170 subgroup
InclusiveOr ( global 4-component vector of uin
t)
0:170 '
ballot' ( temp 4-component vector of uin
t)
0:171 subgroup
InclusiveXor ( global 4-component vector of uin
t)
0:171 '
ballot' ( temp 4-component vector of uin
t)
0:172 subgroupExclusive
Add
( global 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:174 subgroupExclusive
And ( global 4-component vector of uin
t)
0:174 '
ballot' ( temp 4-component vector of uin
t)
0:175 subgroupExclusive
Or ( global 4-component vector of uin
t)
0:175 '
ballot' ( temp 4-component vector of uin
t)
0:176 subgroupExclusive
Xor
( global 4-component vector of uint)
0:174 subgroupExclusive
Min ( global 4-component vector of floa
t)
0:174 '
f4' ( in 4-component vector of floa
t)
0:175 subgroupExclusive
Max ( global 4-component vector of floa
t)
0:175 '
f4' ( in 4-component vector of floa
t)
0:176 subgroupExclusive
And
( global 4-component vector of uint)
0:176 'ballot' ( temp 4-component vector of uint)
0:180 Function Definition: clustered_works(vf4; ( global void)
0:180 Function Parameters:
0:180 'f4' ( in 4-component vector of float)
0:182 Sequence
0:182 Sequence
0:182 move second child to first child ( temp 4-component vector of uint)
0:182 'ballot' ( temp 4-component vector of uint)
0:182 Constant:
0:182 85 (const uint)
0:182 0 (const uint)
0:182 0 (const 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 2 (const uint)
0:185 subgroupClusteredMin ( global 4-component vector of float)
0:177 subgroupExclusiveOr ( global 4-component vector of uint)
0:177 'ballot' ( temp 4-component vector of uint)
0:178 subgroupExclusiveXor ( global 4-component vector of uint)
0:178 'ballot' ( temp 4-component vector of uint)
0:182 Function Definition: clustered_works(vf4; ( global void)
0:182 Function Parameters:
0:182 'f4' ( in 4-component vector of float)
0:184 Sequence
0:184 Sequence
0:184 move second child to first child ( temp 4-component vector of uint)
0:184 'ballot' ( temp 4-component vector of uint)
0:184 Constant:
0:184 85 (const uint)
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 Constant:
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 Constant:
0:186 2 (const uint)
0:187 subgroupClustered
And ( global 4-component vector of uin
t)
0:187 '
ballot' ( temp 4-component vector of uin
t)
0:187 subgroupClustered
Min ( global 4-component vector of floa
t)
0:187 '
f4' ( in 4-component vector of floa
t)
0:187 Constant:
0:187 2 (const uint)
0:188 subgroupClustered
Or ( global 4-component vector of uin
t)
0:188 '
ballot' ( temp 4-component vector of uin
t)
0:188 subgroupClustered
Max ( global 4-component vector of floa
t)
0:188 '
f4' ( in 4-component vector of floa
t)
0:188 Constant:
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 Constant:
0:189 2 (const uint)
0:19
3 Function Definition: quad_works(vf4; ( global void
)
0:19
3 Function Parameters:
0:19
3 'f4' ( in 4-component vector of float)
0:19
5 Sequence
0:19
5 subgroupQuadBroadcast ( global 4-component vector of floa
t)
0:19
5 'f4' ( in 4-component vector of floa
t)
0:19
5
Constant:
0:19
5 0
(const uint)
0:19
6 subgroupQuadSwapHorizontal ( global 4-component vector of float
)
0:19
6 'f4' ( in 4-component vector of float)
0:19
7 subgroupQuadSwapVertical ( global
4-component vector of float)
0:
197 'f4' ( in 4-component vector of float)
0:198 subgroupQuad
SwapDiagonal
( global 4-component vector of float)
0:19
0 subgroupClusteredOr ( global 4-component vector of uint
)
0:19
0 'ballot' ( temp 4-component vector of uint)
0:19
0 Constant:
0:19
0 2 (const uint)
0:19
1 subgroupClusteredXor ( global 4-component vector of uin
t)
0:19
1 'ballot' ( temp 4-component vector of uin
t)
0:19
1
Constant:
0:19
1 2
(const uint)
0:19
5 Function Definition: quad_works(vf4; ( global void
)
0:19
5 Function Parameters:
0:19
5 'f4' ( in
4-component vector of float)
0:
? Sequence
0:198 subgroupQuad
Broadcast
( global 4-component vector of float)
0:198 'f4' ( in 4-component vector of float)
0:
202 Function Definition: partitioned_works(vf4; ( global void)
0:
202 Function Parameters:
0:
202 'f4' ( in
4-component vector of float)
0:
204 Sequence
0:
204 Sequence
0:
204 move second child to first child ( temp 4-component vector of u
int)
0:20
4 'parti' ( temp 4-component vector of uin
t)
0:20
4 subgroupPartitionNV ( global 4-component vector of uin
t)
0:20
4 'f4' ( in
4-component vector of float)
0:20
5 Sequence
0:20
5 move second child to first child ( temp 4-component vector of uin
t)
0:20
5 'ballot' ( temp 4-component vector of uin
t)
0:20
5 Constant:
0:20
5 85 (const uint)
0:20
5 0 (const uin
t)
0:20
5 0 (const uint)
0:20
5 0 (const uint)
0:20
6 subgroupPartitionedAddNV ( global 4-component vector of floa
t)
0:20
6 'f4' ( in 4-component vector of floa
t)
0:20
6 'parti' ( temp
4-component vector of uint)
0:20
7 subgroupPartitionedMulNV ( global
4-component vector of float)
0:20
7 'f4' ( in 4-component vector of float)
0:20
7 'parti'
( temp 4-component vector of uint)
0:20
8 subgroupPartitionedMinNV ( global 4-component vector of floa
t)
0:20
8 'f4' ( in 4-component vector of float)
0:20
8 'parti' ( temp 4-component vector of
uint)
0:209
subgroupPartitionedMaxNV ( global 4-component vector of floa
t)
0:209
'f4' ( in 4-component vector of floa
t)
0:209
'parti' ( temp 4-component vector of
uint)
0:210 subgroupPartitionedA
ndNV ( global 4-component vector of uin
t)
0:210 '
ballot' ( temp 4-component vector of uin
t)
0:
198 Constant:
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:20
0 subgroupQuadSwapHorizontal ( global 4-component vector of floa
t)
0:20
0 'f4' ( in 4-component vector of floa
t)
0:20
1 subgroupQuadSwapVertical ( global
4-component vector of float)
0:20
1 'f4' ( in 4-component vector of float)
0:20
2 subgroupQuadSwapDiagonal ( global 4-component vector of floa
t)
0:20
2 'f4' ( in 4-component vector of floa
t)
0:20
6 Function Definition: partitioned_works(vf4; ( global void)
0:20
6 Function Parameters:
0:20
6 'f4' ( in 4-component vector of floa
t)
0:20
8 Sequence
0:20
8 Sequence
0:20
8 move second child to first child ( temp 4-component vector of uin
t)
0:20
8 'parti' ( temp 4-component vector of uin
t)
0:20
8 subgroupPartitionNV ( global
4-component vector of uint)
0:20
8 'f4' ( in
4-component vector of float)
0:20
9 Sequence
0:20
9 move second child to first child
( temp 4-component vector of uint)
0:20
9 'ballot' ( temp 4-component vector of uin
t)
0:20
9 Constant:
0:20
9 85 (const
uint)
0:209
0 (const uin
t)
0:209
0 (const uin
t)
0:209
0 (const
uint)
0:210 subgroupPartitionedA
ddNV ( global 4-component vector of floa
t)
0:210 '
f4' ( in 4-component vector of floa
t)
0:210 'parti' ( temp 4-component vector of uint)
0:211 subgroupPartitioned
OrNV ( global 4-component vector of uin
t)
0:211 '
ballot' ( temp 4-component vector of uin
t)
0:211 subgroupPartitioned
MulNV ( global 4-component vector of floa
t)
0:211 '
f4' ( in 4-component vector of floa
t)
0:211 'parti' ( temp 4-component vector of uint)
0:212 subgroupPartitioned
XorNV ( global 4-component vector of uin
t)
0:212 '
ballot' ( temp 4-component vector of uin
t)
0:212 subgroupPartitioned
MinNV ( global 4-component vector of floa
t)
0:212 '
f4' ( in 4-component vector of floa
t)
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 'parti' ( temp 4-component vector of uint)
0:214 subgroupPartitioned
InclusiveMulNV ( global 4-component vector of floa
t)
0:214 '
f4' ( in 4-component vector of floa
t)
0:214 subgroupPartitioned
AndNV ( global 4-component vector of uin
t)
0:214 '
ballot' ( temp 4-component vector of uin
t)
0:214 'parti' ( temp 4-component vector of uint)
0:215 subgroupPartitioned
InclusiveMinNV ( global 4-component vector of floa
t)
0:215 '
f4' ( in 4-component vector of floa
t)
0:215 subgroupPartitioned
OrNV ( global 4-component vector of uin
t)
0:215 '
ballot' ( temp 4-component vector of uin
t)
0:215 'parti' ( temp 4-component vector of uint)
0:216 subgroupPartitioned
InclusiveMaxNV ( global 4-component vector of floa
t)
0:216 '
f4' ( in 4-component vector of floa
t)
0:216 subgroupPartitioned
XorNV ( global 4-component vector of uin
t)
0:216 '
ballot' ( temp 4-component vector of uin
t)
0:216 'parti' ( temp 4-component vector of uint)
0:217 subgroupPartitionedInclusiveA
ndNV ( global 4-component vector of uin
t)
0:217 '
ballot' ( temp 4-component vector of uin
t)
0:217 subgroupPartitionedInclusiveA
ddNV ( global 4-component vector of floa
t)
0:217 '
f4' ( in 4-component vector of floa
t)
0:217 'parti' ( temp 4-component vector of uint)
0:218 subgroupPartitionedInclusive
OrNV ( global 4-component vector of uin
t)
0:218 '
ballot' ( temp 4-component vector of uin
t)
0:218 subgroupPartitionedInclusive
MulNV ( global 4-component vector of floa
t)
0:218 '
f4' ( in 4-component vector of floa
t)
0:218 'parti' ( temp 4-component vector of uint)
0:219 subgroupPartitionedInclusive
XorNV ( global 4-component vector of uin
t)
0:219 '
ballot' ( temp 4-component vector of uin
t)
0:219 subgroupPartitionedInclusive
MinNV ( global 4-component vector of floa
t)
0:219 '
f4' ( in 4-component vector of floa
t)
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 'parti' ( temp 4-component vector of uint)
0:221 subgroupPartitioned
ExclusiveMulNV ( global 4-component vector of floa
t)
0:221 '
f4' ( in 4-component vector of floa
t)
0:221 subgroupPartitioned
InclusiveAndNV ( global 4-component vector of uin
t)
0:221 '
ballot' ( temp 4-component vector of uin
t)
0:221 'parti' ( temp 4-component vector of uint)
0:222 subgroupPartitioned
ExclusiveMinNV ( global 4-component vector of floa
t)
0:222 '
f4' ( in 4-component vector of floa
t)
0:222 subgroupPartitioned
InclusiveOrNV ( global 4-component vector of uin
t)
0:222 '
ballot' ( temp 4-component vector of uin
t)
0:222 'parti' ( temp 4-component vector of uint)
0:223 subgroupPartitioned
ExclusiveMaxNV ( global 4-component vector of floa
t)
0:223 '
f4' ( in 4-component vector of floa
t)
0:223 subgroupPartitioned
InclusiveXorNV ( global 4-component vector of uin
t)
0:223 '
ballot' ( temp 4-component vector of uin
t)
0:223 'parti' ( temp 4-component vector of uint)
0:224 subgroupPartitionedExclusiveA
ndNV ( global 4-component vector of uin
t)
0:224 '
ballot' ( temp 4-component vector of uin
t)
0:224 subgroupPartitionedExclusiveA
ddNV ( global 4-component vector of floa
t)
0:224 '
f4' ( in 4-component vector of floa
t)
0:224 'parti' ( temp 4-component vector of uint)
0:225 subgroupPartitionedExclusive
OrNV ( global 4-component vector of uin
t)
0:225 '
ballot' ( temp 4-component vector of uin
t)
0:225 subgroupPartitionedExclusive
MulNV ( global 4-component vector of floa
t)
0:225 '
f4' ( in 4-component vector of floa
t)
0:225 'parti' ( temp 4-component vector of uint)
0:226 subgroupPartitionedExclusive
XorNV ( global 4-component vector of uin
t)
0:226 '
ballot' ( temp 4-component vector of uin
t)
0:226 subgroupPartitionedExclusive
MinNV ( global 4-component vector of floa
t)
0:226 '
f4' ( in 4-component vector of floa
t)
0:226 'parti' ( temp 4-component vector of uint)
0:230 Function Definition: sm_builtins_err( ( global void)
0:230 Function Parameters:
0:232 Sequence
0:232 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:233 'gl_SMCountNV' ( flat in uint SMCountNV)
0:234 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:235 'gl_SMIDNV' ( flat in uint SMIDNV)
0:242 Function Definition: sm_builtins( ( global void)
0:242 Function Parameters:
0:244 Sequence
0:244 'gl_WarpsPerSMNV' ( flat in uint WarpsPerSMNV)
0:245 'gl_SMCountNV' ( flat in uint SMCountNV)
0:246 'gl_WarpIDNV' ( flat in uint WarpIDNV)
0:247 'gl_SMIDNV' ( flat in uint SMIDNV)
0:227 subgroupPartitionedExclusiveMaxNV ( 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 subgroupPartitionedExclusiveAndNV ( 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 subgroupPartitionedExclusiveOrNV ( 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 subgroupPartitionedExclusiveXorNV ( 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:234 Function Definition: sm_builtins_err( ( global void)
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:? '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)
#extension GL_KHR_shader_subgroup_ballot: enable
void
ballot_works
(
vec4
f4
)
{
int
i
;
gl_SubgroupEqMask
;
gl_SubgroupGeMask
;
gl_SubgroupGtMask
;
gl_SubgroupLeMask
;
gl_SubgroupLtMask
;
subgroupBroadcast
(
f4
,
0
);
subgroupBroadcast
(
f4
,
i
);
subgroupBroadcastFirst
(
f4
);
uvec4
ballot
=
subgroupBallot
(
false
);
subgroupInverseBallot
(
uvec4
(
0x1
));
...
...
@@ -192,7 +194,9 @@ void clustered_works(vec4 f4)
#extension GL_KHR_shader_subgroup_quad: enable
void
quad_works
(
vec4
f4
)
{
int
i
;
subgroupQuadBroadcast
(
f4
,
0
);
subgroupQuadBroadcast
(
f4
,
i
);
subgroupQuadSwapHorizontal
(
f4
);
subgroupQuadSwapVertical
(
f4
);
subgroupQuadSwapDiagonal
(
f4
);
...
...
glslang/MachineIndependent/ParseHelper.cpp
View file @
765cee84
...
...
@@ -2155,6 +2155,7 @@ void TParseContext::builtInOpCheck(const TSourceLoc& loc, const TFunction& fnCan
break
;
case
EOpSubgroupBroadcast
:
case
EOpSubgroupQuadBroadcast
:
if
(
spvVersion
.
spv
<
EShTargetSpv_1_5
)
{
// <id> must be an integral constant expression.
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