blob: dd3de814210480d38450d991443de5f29226ad03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
|
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 FragmentShadingRateKHR
Capability MeshShadingEXT
Extension "SPV_EXT_mesh_shader"
Extension "SPV_KHR_fragment_shading_rate"
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"
MemberName 106(gl_MeshPerPrimitiveEXT) 4 "gl_PrimitiveShadingRateEXT"
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
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 54(gl_MeshPerVertexEXT) Block
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 0 BuiltIn PrimitiveId
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 1 BuiltIn Layer
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 2 BuiltIn ViewportIndex
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 3 BuiltIn CullPrimitiveEXT
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 PerPrimitiveNV
MemberDecorate 106(gl_MeshPerPrimitiveEXT) 4 BuiltIn PrimitiveShadingRateKHR
Decorate 106(gl_MeshPerPrimitiveEXT) Block
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) 59(int)
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
|