mirror of
https://github.com/KhronosGroup/glslang
synced 2024-11-12 21:20:06 +00:00
33c7e30860
It is invalid if the same decoration is applied to the same id multiple times. This adds a check before adding a decoration that the decoration is not already in the list. If it is, then the duplicate is not added. Fixes #3627
443 lines
24 KiB
Plaintext
443 lines
24 KiB
Plaintext
spv.460.subgroupEXT.mesh
|
|
// Module Version 10400
|
|
// Generated by (magic number): 8000b
|
|
// Id's are bound by 279
|
|
|
|
Capability ClipDistance
|
|
Capability CullDistance
|
|
Capability GroupNonUniform
|
|
Capability GroupNonUniformVote
|
|
Capability GroupNonUniformArithmetic
|
|
Capability GroupNonUniformBallot
|
|
Capability GroupNonUniformShuffle
|
|
Capability GroupNonUniformShuffleRelative
|
|
Capability GroupNonUniformClustered
|
|
Capability GroupNonUniformQuad
|
|
Capability MeshShadingEXT
|
|
Extension "SPV_EXT_mesh_shader"
|
|
1: ExtInstImport "GLSL.std.450"
|
|
MemoryModel Logical GLSL450
|
|
EntryPoint MeshEXT 4 "main" 35 41 57 109 147 161 162 167 168 171 172 173 174 175
|
|
ExecutionMode 4 LocalSize 32 1 1
|
|
ExecutionMode 4 OutputVertices 81
|
|
ExecutionMode 4 OutputPrimitivesNV 32
|
|
ExecutionMode 4 OutputTrianglesNV
|
|
Source GLSL 460
|
|
SourceExtension "GL_EXT_mesh_shader"
|
|
SourceExtension "GL_KHR_shader_subgroup_arithmetic"
|
|
SourceExtension "GL_KHR_shader_subgroup_ballot"
|
|
SourceExtension "GL_KHR_shader_subgroup_basic"
|
|
SourceExtension "GL_KHR_shader_subgroup_clustered"
|
|
SourceExtension "GL_KHR_shader_subgroup_quad"
|
|
SourceExtension "GL_KHR_shader_subgroup_shuffle"
|
|
SourceExtension "GL_KHR_shader_subgroup_shuffle_relative"
|
|
SourceExtension "GL_KHR_shader_subgroup_vote"
|
|
Name 4 "main"
|
|
Name 6 "basic_works("
|
|
Name 13 "ballot_works(vf4;"
|
|
Name 12 "f4"
|
|
Name 16 "vote_works(vf4;"
|
|
Name 15 "f4"
|
|
Name 19 "shuffle_works(vf4;"
|
|
Name 18 "f4"
|
|
Name 22 "arith_works(vf4;"
|
|
Name 21 "f4"
|
|
Name 25 "clustered_works(vf4;"
|
|
Name 24 "f4"
|
|
Name 28 "quad_works(vf4;"
|
|
Name 27 "f4"
|
|
Name 32 "iid"
|
|
Name 35 "gl_LocalInvocationID"
|
|
Name 40 "gid"
|
|
Name 41 "gl_WorkGroupID"
|
|
Name 44 "vertexCount"
|
|
Name 46 "primitiveCount"
|
|
Name 54 "gl_MeshPerVertexEXT"
|
|
MemberName 54(gl_MeshPerVertexEXT) 0 "gl_Position"
|
|
MemberName 54(gl_MeshPerVertexEXT) 1 "gl_PointSize"
|
|
MemberName 54(gl_MeshPerVertexEXT) 2 "gl_ClipDistance"
|
|
MemberName 54(gl_MeshPerVertexEXT) 3 "gl_CullDistance"
|
|
Name 57 "gl_MeshVerticesEXT"
|
|
Name 106 "gl_MeshPerPrimitiveEXT"
|
|
MemberName 106(gl_MeshPerPrimitiveEXT) 0 "gl_PrimitiveID"
|
|
MemberName 106(gl_MeshPerPrimitiveEXT) 1 "gl_Layer"
|
|
MemberName 106(gl_MeshPerPrimitiveEXT) 2 "gl_ViewportIndex"
|
|
MemberName 106(gl_MeshPerPrimitiveEXT) 3 "gl_CullPrimitiveEXT"
|
|
Name 109 "gl_MeshPrimitivesEXT"
|
|
Name 147 "gl_PrimitiveTriangleIndicesEXT"
|
|
Name 161 "gl_SubgroupSize"
|
|
Name 162 "gl_SubgroupInvocationID"
|
|
Name 167 "gl_NumSubgroups"
|
|
Name 168 "gl_SubgroupID"
|
|
Name 171 "gl_SubgroupEqMask"
|
|
Name 172 "gl_SubgroupGeMask"
|
|
Name 173 "gl_SubgroupGtMask"
|
|
Name 174 "gl_SubgroupLeMask"
|
|
Name 175 "gl_SubgroupLtMask"
|
|
Name 181 "ballot"
|
|
Name 218 "ballot"
|
|
Name 253 "ballot"
|
|
Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId
|
|
Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId
|
|
Decorate 54(gl_MeshPerVertexEXT) Block
|
|
MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position
|
|
MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
|
|
MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
|
|
MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
|
|
Decorate 106(gl_MeshPerPrimitiveEXT) Block
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
|
|
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
|
|
Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
|
|
Decorate 161(gl_SubgroupSize) RelaxedPrecision
|
|
Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize
|
|
Decorate 162(gl_SubgroupInvocationID) RelaxedPrecision
|
|
Decorate 162(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
|
|
Decorate 167(gl_NumSubgroups) BuiltIn NumSubgroups
|
|
Decorate 168(gl_SubgroupID) BuiltIn SubgroupId
|
|
Decorate 171(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
|
|
Decorate 172(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
|
|
Decorate 173(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
|
|
Decorate 174(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
|
|
Decorate 175(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
|
|
Decorate 278 BuiltIn WorkgroupSize
|
|
2: TypeVoid
|
|
3: TypeFunction 2
|
|
8: TypeFloat 32
|
|
9: TypeVector 8(float) 4
|
|
10: TypePointer Function 9(fvec4)
|
|
11: TypeFunction 2 10(ptr)
|
|
30: TypeInt 32 0
|
|
31: TypePointer Function 30(int)
|
|
33: TypeVector 30(int) 3
|
|
34: TypePointer Input 33(ivec3)
|
|
35(gl_LocalInvocationID): 34(ptr) Variable Input
|
|
36: 30(int) Constant 0
|
|
37: TypePointer Input 30(int)
|
|
41(gl_WorkGroupID): 34(ptr) Variable Input
|
|
45: 30(int) Constant 81
|
|
47: 30(int) Constant 32
|
|
50: 30(int) Constant 4
|
|
51: TypeArray 8(float) 50
|
|
52: 30(int) Constant 3
|
|
53: TypeArray 8(float) 52
|
|
54(gl_MeshPerVertexEXT): TypeStruct 9(fvec4) 8(float) 51 53
|
|
55: TypeArray 54(gl_MeshPerVertexEXT) 45
|
|
56: TypePointer Output 55
|
|
57(gl_MeshVerticesEXT): 56(ptr) Variable Output
|
|
59: TypeInt 32 1
|
|
60: 59(int) Constant 0
|
|
61: 8(float) Constant 1065353216
|
|
62: 9(fvec4) ConstantComposite 61 61 61 61
|
|
63: TypePointer Output 9(fvec4)
|
|
66: 59(int) Constant 1
|
|
67: 8(float) Constant 1073741824
|
|
68: TypePointer Output 8(float)
|
|
71: 59(int) Constant 2
|
|
72: 59(int) Constant 3
|
|
73: 8(float) Constant 1077936128
|
|
76: 8(float) Constant 1082130432
|
|
78: 30(int) Constant 1
|
|
79: 30(int) Constant 264
|
|
80: 30(int) Constant 2
|
|
105: TypeBool
|
|
106(gl_MeshPerPrimitiveEXT): TypeStruct 59(int) 59(int) 59(int) 105(bool)
|
|
107: TypeArray 106(gl_MeshPerPrimitiveEXT) 47
|
|
108: TypePointer Output 107
|
|
109(gl_MeshPrimitivesEXT): 108(ptr) Variable Output
|
|
111: 59(int) Constant 6
|
|
112: TypePointer Output 59(int)
|
|
115: 59(int) Constant 7
|
|
118: 59(int) Constant 8
|
|
121: 105(bool) ConstantFalse
|
|
122: TypePointer Output 105(bool)
|
|
145: TypeArray 33(ivec3) 47
|
|
146: TypePointer Output 145
|
|
147(gl_PrimitiveTriangleIndicesEXT): 146(ptr) Variable Output
|
|
148: 33(ivec3) ConstantComposite 78 78 78
|
|
149: TypePointer Output 33(ivec3)
|
|
153: 33(ivec3) ConstantComposite 80 80 80
|
|
161(gl_SubgroupSize): 37(ptr) Variable Input
|
|
162(gl_SubgroupInvocationID): 37(ptr) Variable Input
|
|
163: 30(int) Constant 3400
|
|
164: 30(int) Constant 72
|
|
165: 30(int) Constant 2056
|
|
167(gl_NumSubgroups): 37(ptr) Variable Input
|
|
168(gl_SubgroupID): 37(ptr) Variable Input
|
|
169: TypeVector 30(int) 4
|
|
170: TypePointer Input 169(ivec4)
|
|
171(gl_SubgroupEqMask): 170(ptr) Variable Input
|
|
172(gl_SubgroupGeMask): 170(ptr) Variable Input
|
|
173(gl_SubgroupGtMask): 170(ptr) Variable Input
|
|
174(gl_SubgroupLeMask): 170(ptr) Variable Input
|
|
175(gl_SubgroupLtMask): 170(ptr) Variable Input
|
|
180: TypePointer Function 169(ivec4)
|
|
183: 169(ivec4) ConstantComposite 78 78 78 78
|
|
197: 105(bool) ConstantTrue
|
|
254: 30(int) Constant 85
|
|
255: 169(ivec4) ConstantComposite 254 36 36 36
|
|
278: 33(ivec3) ConstantComposite 47 78 78
|
|
4(main): 2 Function None 3
|
|
5: Label
|
|
32(iid): 31(ptr) Variable Function
|
|
40(gid): 31(ptr) Variable Function
|
|
44(vertexCount): 31(ptr) Variable Function
|
|
46(primitiveCount): 31(ptr) Variable Function
|
|
38: 37(ptr) AccessChain 35(gl_LocalInvocationID) 36
|
|
39: 30(int) Load 38
|
|
Store 32(iid) 39
|
|
42: 37(ptr) AccessChain 41(gl_WorkGroupID) 36
|
|
43: 30(int) Load 42
|
|
Store 40(gid) 43
|
|
Store 44(vertexCount) 45
|
|
Store 46(primitiveCount) 47
|
|
48: 30(int) Load 44(vertexCount)
|
|
49: 30(int) Load 46(primitiveCount)
|
|
SetMeshOutputsEXT 48 49
|
|
58: 30(int) Load 32(iid)
|
|
64: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 58 60
|
|
Store 64 62
|
|
65: 30(int) Load 32(iid)
|
|
69: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 65 66
|
|
Store 69 67
|
|
70: 30(int) Load 32(iid)
|
|
74: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 70 71 72
|
|
Store 74 73
|
|
75: 30(int) Load 32(iid)
|
|
77: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 75 72 71
|
|
Store 77 76
|
|
MemoryBarrier 78 79
|
|
ControlBarrier 80 80 79
|
|
81: 30(int) Load 32(iid)
|
|
82: 30(int) IAdd 81 78
|
|
83: 30(int) Load 32(iid)
|
|
84: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 83 60
|
|
85: 9(fvec4) Load 84
|
|
86: 63(ptr) AccessChain 57(gl_MeshVerticesEXT) 82 60
|
|
Store 86 85
|
|
87: 30(int) Load 32(iid)
|
|
88: 30(int) IAdd 87 78
|
|
89: 30(int) Load 32(iid)
|
|
90: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 89 66
|
|
91: 8(float) Load 90
|
|
92: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 88 66
|
|
Store 92 91
|
|
93: 30(int) Load 32(iid)
|
|
94: 30(int) IAdd 93 78
|
|
95: 30(int) Load 32(iid)
|
|
96: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 95 71 72
|
|
97: 8(float) Load 96
|
|
98: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 94 71 72
|
|
Store 98 97
|
|
99: 30(int) Load 32(iid)
|
|
100: 30(int) IAdd 99 78
|
|
101: 30(int) Load 32(iid)
|
|
102: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 101 72 71
|
|
103: 8(float) Load 102
|
|
104: 68(ptr) AccessChain 57(gl_MeshVerticesEXT) 100 72 71
|
|
Store 104 103
|
|
MemoryBarrier 78 79
|
|
ControlBarrier 80 80 79
|
|
110: 30(int) Load 32(iid)
|
|
113: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 110 60
|
|
Store 113 111
|
|
114: 30(int) Load 32(iid)
|
|
116: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 114 66
|
|
Store 116 115
|
|
117: 30(int) Load 32(iid)
|
|
119: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 117 71
|
|
Store 119 118
|
|
120: 30(int) Load 32(iid)
|
|
123: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 120 72
|
|
Store 123 121
|
|
MemoryBarrier 78 79
|
|
ControlBarrier 80 80 79
|
|
124: 30(int) Load 32(iid)
|
|
125: 30(int) IAdd 124 78
|
|
126: 30(int) Load 32(iid)
|
|
127: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 126 60
|
|
128: 59(int) Load 127
|
|
129: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 125 60
|
|
Store 129 128
|
|
130: 30(int) Load 32(iid)
|
|
131: 30(int) IAdd 130 78
|
|
132: 30(int) Load 32(iid)
|
|
133: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 132 66
|
|
134: 59(int) Load 133
|
|
135: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 131 66
|
|
Store 135 134
|
|
136: 30(int) Load 32(iid)
|
|
137: 30(int) IAdd 136 78
|
|
138: 30(int) Load 32(iid)
|
|
139: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 138 71
|
|
140: 59(int) Load 139
|
|
141: 112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 137 71
|
|
Store 141 140
|
|
142: 30(int) Load 32(iid)
|
|
143: 30(int) IAdd 142 78
|
|
144: 122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 143 72
|
|
Store 144 121
|
|
MemoryBarrier 78 79
|
|
ControlBarrier 80 80 79
|
|
150: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 60
|
|
Store 150 148
|
|
151: 30(int) Load 46(primitiveCount)
|
|
152: 30(int) ISub 151 78
|
|
154: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 152
|
|
Store 154 153
|
|
155: 30(int) Load 40(gid)
|
|
156: 30(int) Load 40(gid)
|
|
157: 30(int) ISub 156 78
|
|
158: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 157
|
|
159: 33(ivec3) Load 158
|
|
160: 149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 155
|
|
Store 160 159
|
|
MemoryBarrier 78 79
|
|
ControlBarrier 80 80 79
|
|
Return
|
|
FunctionEnd
|
|
6(basic_works(): 2 Function None 3
|
|
7: Label
|
|
ControlBarrier 52 52 163
|
|
MemoryBarrier 52 163
|
|
MemoryBarrier 52 164
|
|
MemoryBarrier 52 165
|
|
166: 105(bool) GroupNonUniformElect 52
|
|
MemoryBarrier 52 79
|
|
Return
|
|
FunctionEnd
|
|
13(ballot_works(vf4;): 2 Function None 11
|
|
12(f4): 10(ptr) FunctionParameter
|
|
14: Label
|
|
181(ballot): 180(ptr) Variable Function
|
|
176: 9(fvec4) Load 12(f4)
|
|
177: 9(fvec4) GroupNonUniformBroadcast 52 176 36
|
|
178: 9(fvec4) Load 12(f4)
|
|
179: 9(fvec4) GroupNonUniformBroadcastFirst 52 178
|
|
182: 169(ivec4) GroupNonUniformBallot 52 121
|
|
Store 181(ballot) 182
|
|
184: 105(bool) GroupNonUniformInverseBallot 52 183
|
|
185: 169(ivec4) Load 181(ballot)
|
|
186: 105(bool) GroupNonUniformBallotBitExtract 52 185 36
|
|
187: 169(ivec4) Load 181(ballot)
|
|
188: 30(int) GroupNonUniformBallotBitCount 52 Reduce 187
|
|
189: 169(ivec4) Load 181(ballot)
|
|
190: 30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 189
|
|
191: 169(ivec4) Load 181(ballot)
|
|
192: 30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 191
|
|
193: 169(ivec4) Load 181(ballot)
|
|
194: 30(int) GroupNonUniformBallotFindLSB 52 193
|
|
195: 169(ivec4) Load 181(ballot)
|
|
196: 30(int) GroupNonUniformBallotFindMSB 52 195
|
|
Return
|
|
FunctionEnd
|
|
16(vote_works(vf4;): 2 Function None 11
|
|
15(f4): 10(ptr) FunctionParameter
|
|
17: Label
|
|
198: 105(bool) GroupNonUniformAll 52 197
|
|
199: 105(bool) GroupNonUniformAny 52 121
|
|
200: 9(fvec4) Load 15(f4)
|
|
201: 105(bool) GroupNonUniformAllEqual 52 200
|
|
Return
|
|
FunctionEnd
|
|
19(shuffle_works(vf4;): 2 Function None 11
|
|
18(f4): 10(ptr) FunctionParameter
|
|
20: Label
|
|
202: 9(fvec4) Load 18(f4)
|
|
203: 9(fvec4) GroupNonUniformShuffle 52 202 36
|
|
204: 9(fvec4) Load 18(f4)
|
|
205: 9(fvec4) GroupNonUniformShuffleXor 52 204 78
|
|
206: 9(fvec4) Load 18(f4)
|
|
207: 9(fvec4) GroupNonUniformShuffleUp 52 206 78
|
|
208: 9(fvec4) Load 18(f4)
|
|
209: 9(fvec4) GroupNonUniformShuffleDown 52 208 78
|
|
Return
|
|
FunctionEnd
|
|
22(arith_works(vf4;): 2 Function None 11
|
|
21(f4): 10(ptr) FunctionParameter
|
|
23: Label
|
|
218(ballot): 180(ptr) Variable Function
|
|
210: 9(fvec4) Load 21(f4)
|
|
211: 9(fvec4) GroupNonUniformFAdd 52 Reduce 210
|
|
212: 9(fvec4) Load 21(f4)
|
|
213: 9(fvec4) GroupNonUniformFMul 52 Reduce 212
|
|
214: 9(fvec4) Load 21(f4)
|
|
215: 9(fvec4) GroupNonUniformFMin 52 Reduce 214
|
|
216: 9(fvec4) Load 21(f4)
|
|
217: 9(fvec4) GroupNonUniformFMax 52 Reduce 216
|
|
219: 169(ivec4) Load 218(ballot)
|
|
220: 169(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 219
|
|
221: 169(ivec4) Load 218(ballot)
|
|
222: 169(ivec4) GroupNonUniformBitwiseOr 52 Reduce 221
|
|
223: 169(ivec4) Load 218(ballot)
|
|
224: 169(ivec4) GroupNonUniformBitwiseXor 52 Reduce 223
|
|
225: 9(fvec4) Load 21(f4)
|
|
226: 9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 225
|
|
227: 9(fvec4) Load 21(f4)
|
|
228: 9(fvec4) GroupNonUniformFMul 52 InclusiveScan 227
|
|
229: 9(fvec4) Load 21(f4)
|
|
230: 9(fvec4) GroupNonUniformFMin 52 InclusiveScan 229
|
|
231: 9(fvec4) Load 21(f4)
|
|
232: 9(fvec4) GroupNonUniformFMax 52 InclusiveScan 231
|
|
233: 169(ivec4) Load 218(ballot)
|
|
234: 169(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 233
|
|
235: 169(ivec4) Load 218(ballot)
|
|
236: 169(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 235
|
|
237: 169(ivec4) Load 218(ballot)
|
|
238: 169(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 237
|
|
239: 9(fvec4) Load 21(f4)
|
|
240: 9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 239
|
|
241: 9(fvec4) Load 21(f4)
|
|
242: 9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 241
|
|
243: 9(fvec4) Load 21(f4)
|
|
244: 9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 243
|
|
245: 9(fvec4) Load 21(f4)
|
|
246: 9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 245
|
|
247: 169(ivec4) Load 218(ballot)
|
|
248: 169(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 247
|
|
249: 169(ivec4) Load 218(ballot)
|
|
250: 169(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 249
|
|
251: 169(ivec4) Load 218(ballot)
|
|
252: 169(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 251
|
|
Return
|
|
FunctionEnd
|
|
25(clustered_works(vf4;): 2 Function None 11
|
|
24(f4): 10(ptr) FunctionParameter
|
|
26: Label
|
|
253(ballot): 180(ptr) Variable Function
|
|
Store 253(ballot) 255
|
|
256: 9(fvec4) Load 24(f4)
|
|
257: 9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 256 80
|
|
258: 9(fvec4) Load 24(f4)
|
|
259: 9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 258 80
|
|
260: 9(fvec4) Load 24(f4)
|
|
261: 9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 260 80
|
|
262: 9(fvec4) Load 24(f4)
|
|
263: 9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 262 80
|
|
264: 169(ivec4) Load 253(ballot)
|
|
265: 169(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 264 80
|
|
266: 169(ivec4) Load 253(ballot)
|
|
267: 169(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 266 80
|
|
268: 169(ivec4) Load 253(ballot)
|
|
269: 169(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 268 80
|
|
Return
|
|
FunctionEnd
|
|
28(quad_works(vf4;): 2 Function None 11
|
|
27(f4): 10(ptr) FunctionParameter
|
|
29: Label
|
|
270: 9(fvec4) Load 27(f4)
|
|
271: 9(fvec4) GroupNonUniformQuadBroadcast 52 270 36
|
|
272: 9(fvec4) Load 27(f4)
|
|
273: 9(fvec4) GroupNonUniformQuadSwap 52 272 36
|
|
274: 9(fvec4) Load 27(f4)
|
|
275: 9(fvec4) GroupNonUniformQuadSwap 52 274 78
|
|
276: 9(fvec4) Load 27(f4)
|
|
277: 9(fvec4) GroupNonUniformQuadSwap 52 276 80
|
|
Return
|
|
FunctionEnd
|