• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.460.subgroupEXT.mesh
2// Module Version 10400
3// Generated by (magic number): 8000b
4// Id's are bound by 279
5
6                              Capability ClipDistance
7                              Capability CullDistance
8                              Capability GroupNonUniform
9                              Capability GroupNonUniformVote
10                              Capability GroupNonUniformArithmetic
11                              Capability GroupNonUniformBallot
12                              Capability GroupNonUniformShuffle
13                              Capability GroupNonUniformShuffleRelative
14                              Capability GroupNonUniformClustered
15                              Capability GroupNonUniformQuad
16                              Capability FragmentShadingRateKHR
17                              Capability MeshShadingEXT
18                              Extension  "SPV_EXT_mesh_shader"
19                              Extension  "SPV_KHR_fragment_shading_rate"
20               1:             ExtInstImport  "GLSL.std.450"
21                              MemoryModel Logical GLSL450
22                              EntryPoint MeshEXT 4  "main" 35 41 57 109 147 161 162 167 168 171 172 173 174 175
23                              ExecutionMode 4 LocalSize 32 1 1
24                              ExecutionMode 4 OutputVertices 81
25                              ExecutionMode 4 OutputPrimitivesNV 32
26                              ExecutionMode 4 OutputTrianglesNV
27                              Source GLSL 460
28                              SourceExtension  "GL_EXT_mesh_shader"
29                              SourceExtension  "GL_KHR_shader_subgroup_arithmetic"
30                              SourceExtension  "GL_KHR_shader_subgroup_ballot"
31                              SourceExtension  "GL_KHR_shader_subgroup_basic"
32                              SourceExtension  "GL_KHR_shader_subgroup_clustered"
33                              SourceExtension  "GL_KHR_shader_subgroup_quad"
34                              SourceExtension  "GL_KHR_shader_subgroup_shuffle"
35                              SourceExtension  "GL_KHR_shader_subgroup_shuffle_relative"
36                              SourceExtension  "GL_KHR_shader_subgroup_vote"
37                              Name 4  "main"
38                              Name 6  "basic_works("
39                              Name 13  "ballot_works(vf4;"
40                              Name 12  "f4"
41                              Name 16  "vote_works(vf4;"
42                              Name 15  "f4"
43                              Name 19  "shuffle_works(vf4;"
44                              Name 18  "f4"
45                              Name 22  "arith_works(vf4;"
46                              Name 21  "f4"
47                              Name 25  "clustered_works(vf4;"
48                              Name 24  "f4"
49                              Name 28  "quad_works(vf4;"
50                              Name 27  "f4"
51                              Name 32  "iid"
52                              Name 35  "gl_LocalInvocationID"
53                              Name 40  "gid"
54                              Name 41  "gl_WorkGroupID"
55                              Name 44  "vertexCount"
56                              Name 46  "primitiveCount"
57                              Name 54  "gl_MeshPerVertexEXT"
58                              MemberName 54(gl_MeshPerVertexEXT) 0  "gl_Position"
59                              MemberName 54(gl_MeshPerVertexEXT) 1  "gl_PointSize"
60                              MemberName 54(gl_MeshPerVertexEXT) 2  "gl_ClipDistance"
61                              MemberName 54(gl_MeshPerVertexEXT) 3  "gl_CullDistance"
62                              Name 57  "gl_MeshVerticesEXT"
63                              Name 106  "gl_MeshPerPrimitiveEXT"
64                              MemberName 106(gl_MeshPerPrimitiveEXT) 0  "gl_PrimitiveID"
65                              MemberName 106(gl_MeshPerPrimitiveEXT) 1  "gl_Layer"
66                              MemberName 106(gl_MeshPerPrimitiveEXT) 2  "gl_ViewportIndex"
67                              MemberName 106(gl_MeshPerPrimitiveEXT) 3  "gl_CullPrimitiveEXT"
68                              MemberName 106(gl_MeshPerPrimitiveEXT) 4  "gl_PrimitiveShadingRateEXT"
69                              Name 109  "gl_MeshPrimitivesEXT"
70                              Name 147  "gl_PrimitiveTriangleIndicesEXT"
71                              Name 161  "gl_SubgroupSize"
72                              Name 162  "gl_SubgroupInvocationID"
73                              Name 167  "gl_NumSubgroups"
74                              Name 168  "gl_SubgroupID"
75                              Name 171  "gl_SubgroupEqMask"
76                              Name 172  "gl_SubgroupGeMask"
77                              Name 173  "gl_SubgroupGtMask"
78                              Name 174  "gl_SubgroupLeMask"
79                              Name 175  "gl_SubgroupLtMask"
80                              Name 181  "ballot"
81                              Name 218  "ballot"
82                              Name 253  "ballot"
83                              Decorate 35(gl_LocalInvocationID) BuiltIn LocalInvocationId
84                              Decorate 41(gl_WorkGroupID) BuiltIn WorkgroupId
85                              MemberDecorate 54(gl_MeshPerVertexEXT) 0 BuiltIn Position
86                              MemberDecorate 54(gl_MeshPerVertexEXT) 1 BuiltIn PointSize
87                              MemberDecorate 54(gl_MeshPerVertexEXT) 2 BuiltIn ClipDistance
88                              MemberDecorate 54(gl_MeshPerVertexEXT) 3 BuiltIn CullDistance
89                              Decorate 54(gl_MeshPerVertexEXT) Block
90                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
91                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
92                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
93                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
94                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
95                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
96                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
97                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
98                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
99                              MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
100                              Decorate 106(gl_MeshPerPrimitiveEXT) Block
101                              Decorate 147(gl_PrimitiveTriangleIndicesEXT) BuiltIn PrimitiveTriangleIndicesEXT
102                              Decorate 161(gl_SubgroupSize) RelaxedPrecision
103                              Decorate 161(gl_SubgroupSize) BuiltIn SubgroupSize
104                              Decorate 162(gl_SubgroupInvocationID) RelaxedPrecision
105                              Decorate 162(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
106                              Decorate 167(gl_NumSubgroups) BuiltIn NumSubgroups
107                              Decorate 168(gl_SubgroupID) BuiltIn SubgroupId
108                              Decorate 171(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
109                              Decorate 172(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
110                              Decorate 173(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
111                              Decorate 174(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
112                              Decorate 175(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
113                              Decorate 278 BuiltIn WorkgroupSize
114               2:             TypeVoid
115               3:             TypeFunction 2
116               8:             TypeFloat 32
117               9:             TypeVector 8(float) 4
118              10:             TypePointer Function 9(fvec4)
119              11:             TypeFunction 2 10(ptr)
120              30:             TypeInt 32 0
121              31:             TypePointer Function 30(int)
122              33:             TypeVector 30(int) 3
123              34:             TypePointer Input 33(ivec3)
12435(gl_LocalInvocationID):     34(ptr) Variable Input
125              36:     30(int) Constant 0
126              37:             TypePointer Input 30(int)
12741(gl_WorkGroupID):     34(ptr) Variable Input
128              45:     30(int) Constant 81
129              47:     30(int) Constant 32
130              50:     30(int) Constant 4
131              51:             TypeArray 8(float) 50
132              52:     30(int) Constant 3
133              53:             TypeArray 8(float) 52
13454(gl_MeshPerVertexEXT):             TypeStruct 9(fvec4) 8(float) 51 53
135              55:             TypeArray 54(gl_MeshPerVertexEXT) 45
136              56:             TypePointer Output 55
13757(gl_MeshVerticesEXT):     56(ptr) Variable Output
138              59:             TypeInt 32 1
139              60:     59(int) Constant 0
140              61:    8(float) Constant 1065353216
141              62:    9(fvec4) ConstantComposite 61 61 61 61
142              63:             TypePointer Output 9(fvec4)
143              66:     59(int) Constant 1
144              67:    8(float) Constant 1073741824
145              68:             TypePointer Output 8(float)
146              71:     59(int) Constant 2
147              72:     59(int) Constant 3
148              73:    8(float) Constant 1077936128
149              76:    8(float) Constant 1082130432
150              78:     30(int) Constant 1
151              79:     30(int) Constant 264
152              80:     30(int) Constant 2
153             105:             TypeBool
154106(gl_MeshPerPrimitiveEXT):             TypeStruct 59(int) 59(int) 59(int) 105(bool) 59(int)
155             107:             TypeArray 106(gl_MeshPerPrimitiveEXT) 47
156             108:             TypePointer Output 107
157109(gl_MeshPrimitivesEXT):    108(ptr) Variable Output
158             111:     59(int) Constant 6
159             112:             TypePointer Output 59(int)
160             115:     59(int) Constant 7
161             118:     59(int) Constant 8
162             121:   105(bool) ConstantFalse
163             122:             TypePointer Output 105(bool)
164             145:             TypeArray 33(ivec3) 47
165             146:             TypePointer Output 145
166147(gl_PrimitiveTriangleIndicesEXT):    146(ptr) Variable Output
167             148:   33(ivec3) ConstantComposite 78 78 78
168             149:             TypePointer Output 33(ivec3)
169             153:   33(ivec3) ConstantComposite 80 80 80
170161(gl_SubgroupSize):     37(ptr) Variable Input
171162(gl_SubgroupInvocationID):     37(ptr) Variable Input
172             163:     30(int) Constant 3400
173             164:     30(int) Constant 72
174             165:     30(int) Constant 2056
175167(gl_NumSubgroups):     37(ptr) Variable Input
176168(gl_SubgroupID):     37(ptr) Variable Input
177             169:             TypeVector 30(int) 4
178             170:             TypePointer Input 169(ivec4)
179171(gl_SubgroupEqMask):    170(ptr) Variable Input
180172(gl_SubgroupGeMask):    170(ptr) Variable Input
181173(gl_SubgroupGtMask):    170(ptr) Variable Input
182174(gl_SubgroupLeMask):    170(ptr) Variable Input
183175(gl_SubgroupLtMask):    170(ptr) Variable Input
184             180:             TypePointer Function 169(ivec4)
185             183:  169(ivec4) ConstantComposite 78 78 78 78
186             197:   105(bool) ConstantTrue
187             254:     30(int) Constant 85
188             255:  169(ivec4) ConstantComposite 254 36 36 36
189             278:   33(ivec3) ConstantComposite 47 78 78
190         4(main):           2 Function None 3
191               5:             Label
192         32(iid):     31(ptr) Variable Function
193         40(gid):     31(ptr) Variable Function
194 44(vertexCount):     31(ptr) Variable Function
19546(primitiveCount):     31(ptr) Variable Function
196              38:     37(ptr) AccessChain 35(gl_LocalInvocationID) 36
197              39:     30(int) Load 38
198                              Store 32(iid) 39
199              42:     37(ptr) AccessChain 41(gl_WorkGroupID) 36
200              43:     30(int) Load 42
201                              Store 40(gid) 43
202                              Store 44(vertexCount) 45
203                              Store 46(primitiveCount) 47
204              48:     30(int) Load 44(vertexCount)
205              49:     30(int) Load 46(primitiveCount)
206                              SetMeshOutputsEXT 48 49
207              58:     30(int) Load 32(iid)
208              64:     63(ptr) AccessChain 57(gl_MeshVerticesEXT) 58 60
209                              Store 64 62
210              65:     30(int) Load 32(iid)
211              69:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 65 66
212                              Store 69 67
213              70:     30(int) Load 32(iid)
214              74:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 70 71 72
215                              Store 74 73
216              75:     30(int) Load 32(iid)
217              77:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 75 72 71
218                              Store 77 76
219                              MemoryBarrier 78 79
220                              ControlBarrier 80 80 79
221              81:     30(int) Load 32(iid)
222              82:     30(int) IAdd 81 78
223              83:     30(int) Load 32(iid)
224              84:     63(ptr) AccessChain 57(gl_MeshVerticesEXT) 83 60
225              85:    9(fvec4) Load 84
226              86:     63(ptr) AccessChain 57(gl_MeshVerticesEXT) 82 60
227                              Store 86 85
228              87:     30(int) Load 32(iid)
229              88:     30(int) IAdd 87 78
230              89:     30(int) Load 32(iid)
231              90:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 89 66
232              91:    8(float) Load 90
233              92:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 88 66
234                              Store 92 91
235              93:     30(int) Load 32(iid)
236              94:     30(int) IAdd 93 78
237              95:     30(int) Load 32(iid)
238              96:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 95 71 72
239              97:    8(float) Load 96
240              98:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 94 71 72
241                              Store 98 97
242              99:     30(int) Load 32(iid)
243             100:     30(int) IAdd 99 78
244             101:     30(int) Load 32(iid)
245             102:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 101 72 71
246             103:    8(float) Load 102
247             104:     68(ptr) AccessChain 57(gl_MeshVerticesEXT) 100 72 71
248                              Store 104 103
249                              MemoryBarrier 78 79
250                              ControlBarrier 80 80 79
251             110:     30(int) Load 32(iid)
252             113:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 110 60
253                              Store 113 111
254             114:     30(int) Load 32(iid)
255             116:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 114 66
256                              Store 116 115
257             117:     30(int) Load 32(iid)
258             119:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 117 71
259                              Store 119 118
260             120:     30(int) Load 32(iid)
261             123:    122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 120 72
262                              Store 123 121
263                              MemoryBarrier 78 79
264                              ControlBarrier 80 80 79
265             124:     30(int) Load 32(iid)
266             125:     30(int) IAdd 124 78
267             126:     30(int) Load 32(iid)
268             127:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 126 60
269             128:     59(int) Load 127
270             129:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 125 60
271                              Store 129 128
272             130:     30(int) Load 32(iid)
273             131:     30(int) IAdd 130 78
274             132:     30(int) Load 32(iid)
275             133:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 132 66
276             134:     59(int) Load 133
277             135:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 131 66
278                              Store 135 134
279             136:     30(int) Load 32(iid)
280             137:     30(int) IAdd 136 78
281             138:     30(int) Load 32(iid)
282             139:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 138 71
283             140:     59(int) Load 139
284             141:    112(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 137 71
285                              Store 141 140
286             142:     30(int) Load 32(iid)
287             143:     30(int) IAdd 142 78
288             144:    122(ptr) AccessChain 109(gl_MeshPrimitivesEXT) 143 72
289                              Store 144 121
290                              MemoryBarrier 78 79
291                              ControlBarrier 80 80 79
292             150:    149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 60
293                              Store 150 148
294             151:     30(int) Load 46(primitiveCount)
295             152:     30(int) ISub 151 78
296             154:    149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 152
297                              Store 154 153
298             155:     30(int) Load 40(gid)
299             156:     30(int) Load 40(gid)
300             157:     30(int) ISub 156 78
301             158:    149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 157
302             159:   33(ivec3) Load 158
303             160:    149(ptr) AccessChain 147(gl_PrimitiveTriangleIndicesEXT) 155
304                              Store 160 159
305                              MemoryBarrier 78 79
306                              ControlBarrier 80 80 79
307                              Return
308                              FunctionEnd
309 6(basic_works():           2 Function None 3
310               7:             Label
311                              ControlBarrier 52 52 163
312                              MemoryBarrier 52 163
313                              MemoryBarrier 52 164
314                              MemoryBarrier 52 165
315             166:   105(bool) GroupNonUniformElect 52
316                              MemoryBarrier 52 79
317                              Return
318                              FunctionEnd
31913(ballot_works(vf4;):           2 Function None 11
320          12(f4):     10(ptr) FunctionParameter
321              14:             Label
322     181(ballot):    180(ptr) Variable Function
323             176:    9(fvec4) Load 12(f4)
324             177:    9(fvec4) GroupNonUniformBroadcast 52 176 36
325             178:    9(fvec4) Load 12(f4)
326             179:    9(fvec4) GroupNonUniformBroadcastFirst 52 178
327             182:  169(ivec4) GroupNonUniformBallot 52 121
328                              Store 181(ballot) 182
329             184:   105(bool) GroupNonUniformInverseBallot 52 183
330             185:  169(ivec4) Load 181(ballot)
331             186:   105(bool) GroupNonUniformBallotBitExtract 52 185 36
332             187:  169(ivec4) Load 181(ballot)
333             188:     30(int) GroupNonUniformBallotBitCount 52 Reduce 187
334             189:  169(ivec4) Load 181(ballot)
335             190:     30(int) GroupNonUniformBallotBitCount 52 InclusiveScan 189
336             191:  169(ivec4) Load 181(ballot)
337             192:     30(int) GroupNonUniformBallotBitCount 52 ExclusiveScan 191
338             193:  169(ivec4) Load 181(ballot)
339             194:     30(int) GroupNonUniformBallotFindLSB 52 193
340             195:  169(ivec4) Load 181(ballot)
341             196:     30(int) GroupNonUniformBallotFindMSB 52 195
342                              Return
343                              FunctionEnd
34416(vote_works(vf4;):           2 Function None 11
345          15(f4):     10(ptr) FunctionParameter
346              17:             Label
347             198:   105(bool) GroupNonUniformAll 52 197
348             199:   105(bool) GroupNonUniformAny 52 121
349             200:    9(fvec4) Load 15(f4)
350             201:   105(bool) GroupNonUniformAllEqual 52 200
351                              Return
352                              FunctionEnd
35319(shuffle_works(vf4;):           2 Function None 11
354          18(f4):     10(ptr) FunctionParameter
355              20:             Label
356             202:    9(fvec4) Load 18(f4)
357             203:    9(fvec4) GroupNonUniformShuffle 52 202 36
358             204:    9(fvec4) Load 18(f4)
359             205:    9(fvec4) GroupNonUniformShuffleXor 52 204 78
360             206:    9(fvec4) Load 18(f4)
361             207:    9(fvec4) GroupNonUniformShuffleUp 52 206 78
362             208:    9(fvec4) Load 18(f4)
363             209:    9(fvec4) GroupNonUniformShuffleDown 52 208 78
364                              Return
365                              FunctionEnd
36622(arith_works(vf4;):           2 Function None 11
367          21(f4):     10(ptr) FunctionParameter
368              23:             Label
369     218(ballot):    180(ptr) Variable Function
370             210:    9(fvec4) Load 21(f4)
371             211:    9(fvec4) GroupNonUniformFAdd 52 Reduce 210
372             212:    9(fvec4) Load 21(f4)
373             213:    9(fvec4) GroupNonUniformFMul 52 Reduce 212
374             214:    9(fvec4) Load 21(f4)
375             215:    9(fvec4) GroupNonUniformFMin 52 Reduce 214
376             216:    9(fvec4) Load 21(f4)
377             217:    9(fvec4) GroupNonUniformFMax 52 Reduce 216
378             219:  169(ivec4) Load 218(ballot)
379             220:  169(ivec4) GroupNonUniformBitwiseAnd 52 Reduce 219
380             221:  169(ivec4) Load 218(ballot)
381             222:  169(ivec4) GroupNonUniformBitwiseOr 52 Reduce 221
382             223:  169(ivec4) Load 218(ballot)
383             224:  169(ivec4) GroupNonUniformBitwiseXor 52 Reduce 223
384             225:    9(fvec4) Load 21(f4)
385             226:    9(fvec4) GroupNonUniformFAdd 52 InclusiveScan 225
386             227:    9(fvec4) Load 21(f4)
387             228:    9(fvec4) GroupNonUniformFMul 52 InclusiveScan 227
388             229:    9(fvec4) Load 21(f4)
389             230:    9(fvec4) GroupNonUniformFMin 52 InclusiveScan 229
390             231:    9(fvec4) Load 21(f4)
391             232:    9(fvec4) GroupNonUniformFMax 52 InclusiveScan 231
392             233:  169(ivec4) Load 218(ballot)
393             234:  169(ivec4) GroupNonUniformBitwiseAnd 52 InclusiveScan 233
394             235:  169(ivec4) Load 218(ballot)
395             236:  169(ivec4) GroupNonUniformBitwiseOr 52 InclusiveScan 235
396             237:  169(ivec4) Load 218(ballot)
397             238:  169(ivec4) GroupNonUniformBitwiseXor 52 InclusiveScan 237
398             239:    9(fvec4) Load 21(f4)
399             240:    9(fvec4) GroupNonUniformFAdd 52 ExclusiveScan 239
400             241:    9(fvec4) Load 21(f4)
401             242:    9(fvec4) GroupNonUniformFMul 52 ExclusiveScan 241
402             243:    9(fvec4) Load 21(f4)
403             244:    9(fvec4) GroupNonUniformFMin 52 ExclusiveScan 243
404             245:    9(fvec4) Load 21(f4)
405             246:    9(fvec4) GroupNonUniformFMax 52 ExclusiveScan 245
406             247:  169(ivec4) Load 218(ballot)
407             248:  169(ivec4) GroupNonUniformBitwiseAnd 52 ExclusiveScan 247
408             249:  169(ivec4) Load 218(ballot)
409             250:  169(ivec4) GroupNonUniformBitwiseOr 52 ExclusiveScan 249
410             251:  169(ivec4) Load 218(ballot)
411             252:  169(ivec4) GroupNonUniformBitwiseXor 52 ExclusiveScan 251
412                              Return
413                              FunctionEnd
41425(clustered_works(vf4;):           2 Function None 11
415          24(f4):     10(ptr) FunctionParameter
416              26:             Label
417     253(ballot):    180(ptr) Variable Function
418                              Store 253(ballot) 255
419             256:    9(fvec4) Load 24(f4)
420             257:    9(fvec4) GroupNonUniformFAdd 52 ClusteredReduce 256 80
421             258:    9(fvec4) Load 24(f4)
422             259:    9(fvec4) GroupNonUniformFMul 52 ClusteredReduce 258 80
423             260:    9(fvec4) Load 24(f4)
424             261:    9(fvec4) GroupNonUniformFMin 52 ClusteredReduce 260 80
425             262:    9(fvec4) Load 24(f4)
426             263:    9(fvec4) GroupNonUniformFMax 52 ClusteredReduce 262 80
427             264:  169(ivec4) Load 253(ballot)
428             265:  169(ivec4) GroupNonUniformBitwiseAnd 52 ClusteredReduce 264 80
429             266:  169(ivec4) Load 253(ballot)
430             267:  169(ivec4) GroupNonUniformBitwiseOr 52 ClusteredReduce 266 80
431             268:  169(ivec4) Load 253(ballot)
432             269:  169(ivec4) GroupNonUniformBitwiseXor 52 ClusteredReduce 268 80
433                              Return
434                              FunctionEnd
43528(quad_works(vf4;):           2 Function None 11
436          27(f4):     10(ptr) FunctionParameter
437              29:             Label
438             270:    9(fvec4) Load 27(f4)
439             271:    9(fvec4) GroupNonUniformQuadBroadcast 52 270 36
440             272:    9(fvec4) Load 27(f4)
441             273:    9(fvec4) GroupNonUniformQuadSwap 52 272 36
442             274:    9(fvec4) Load 27(f4)
443             275:    9(fvec4) GroupNonUniformQuadSwap 52 274 78
444             276:    9(fvec4) Load 27(f4)
445             277:    9(fvec4) GroupNonUniformQuadSwap 52 276 80
446                              Return
447                              FunctionEnd
448