blob: d54e8ae999261d61b382f0809b38bb22c998a4f9 (
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
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
|
spv.subgroupShuffle.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 420
Capability Shader
Capability Float64
Capability GroupNonUniform
Capability GroupNonUniformShuffle
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 10 12
ExecutionMode 4 LocalSize 8 8 1
Source GLSL 450
SourceExtension "GL_KHR_shader_subgroup_basic"
SourceExtension "GL_KHR_shader_subgroup_shuffle"
Name 4 "main"
Name 8 "invocation"
Name 10 "gl_SubgroupInvocationID"
Name 12 "gl_SubgroupSize"
Name 24 "Buffers"
MemberName 24(Buffers) 0 "f4"
MemberName 24(Buffers) 1 "i4"
MemberName 24(Buffers) 2 "u4"
MemberName 24(Buffers) 3 "d4"
Name 27 "data"
Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
Decorate 11 RelaxedPrecision
Decorate 12(gl_SubgroupSize) RelaxedPrecision
Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
Decorate 13 RelaxedPrecision
Decorate 14 RelaxedPrecision
Decorate 16 RelaxedPrecision
MemberDecorate 24(Buffers) 0 Offset 0
MemberDecorate 24(Buffers) 1 Offset 16
MemberDecorate 24(Buffers) 2 Offset 32
MemberDecorate 24(Buffers) 3 Offset 64
Decorate 24(Buffers) Block
Decorate 27(data) DescriptorSet 0
Decorate 27(data) Binding 0
Decorate 419 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9: TypePointer Input 6(int)
10(gl_SubgroupInvocationID): 9(ptr) Variable Input
12(gl_SubgroupSize): 9(ptr) Variable Input
15: 6(int) Constant 4
17: TypeFloat 32
18: TypeVector 17(float) 4
19: TypeInt 32 1
20: TypeVector 19(int) 4
21: TypeVector 6(int) 4
22: TypeFloat 64
23: TypeVector 22(float64_t) 4
24(Buffers): TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4)
25: TypeArray 24(Buffers) 15
26: TypePointer StorageBuffer 25
27(data): 26(ptr) Variable StorageBuffer
29: 19(int) Constant 0
30: 6(int) Constant 0
31: TypePointer StorageBuffer 17(float)
35: 6(int) Constant 3
39: 19(int) Constant 1
40: TypeVector 17(float) 2
41: TypePointer StorageBuffer 18(fvec4)
49: 6(int) Constant 1
53: 19(int) Constant 2
54: TypeVector 17(float) 3
64: 6(int) Constant 2
68: 19(int) Constant 3
75: TypePointer StorageBuffer 19(int)
82: TypeVector 19(int) 2
83: TypePointer StorageBuffer 20(ivec4)
94: TypeVector 19(int) 3
113: TypePointer StorageBuffer 6(int)
120: TypeVector 6(int) 2
121: TypePointer StorageBuffer 21(ivec4)
132: TypeVector 6(int) 3
151: TypePointer StorageBuffer 22(float64_t)
158: TypeVector 22(float64_t) 2
159: TypePointer StorageBuffer 23(f64vec4)
170: TypeVector 22(float64_t) 3
191: TypeBool
201: 82(ivec2) ConstantComposite 29 29
202: TypeVector 191(bool) 2
206: 82(ivec2) ConstantComposite 39 39
216: 94(ivec3) ConstantComposite 29 29 29
217: TypeVector 191(bool) 3
221: 94(ivec3) ConstantComposite 39 39 39
232: 20(ivec4) ConstantComposite 29 29 29 29
233: TypeVector 191(bool) 4
237: 20(ivec4) ConstantComposite 39 39 39 39
418: 6(int) Constant 8
419: 132(ivec3) ConstantComposite 418 418 49
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
11: 6(int) Load 10(gl_SubgroupInvocationID)
13: 6(int) Load 12(gl_SubgroupSize)
14: 6(int) IAdd 11 13
16: 6(int) UMod 14 15
Store 8(invocation) 16
28: 6(int) Load 8(invocation)
32: 31(ptr) AccessChain 27(data) 29 29 30
33: 17(float) Load 32
34: 6(int) Load 8(invocation)
36: 17(float) GroupNonUniformShuffle 35 33 34
37: 31(ptr) AccessChain 27(data) 28 29 30
Store 37 36
38: 6(int) Load 8(invocation)
42: 41(ptr) AccessChain 27(data) 39 29
43: 18(fvec4) Load 42
44: 40(fvec2) VectorShuffle 43 43 0 1
45: 6(int) Load 8(invocation)
46: 40(fvec2) GroupNonUniformShuffle 35 44 45
47: 31(ptr) AccessChain 27(data) 38 29 30
48: 17(float) CompositeExtract 46 0
Store 47 48
50: 31(ptr) AccessChain 27(data) 38 29 49
51: 17(float) CompositeExtract 46 1
Store 50 51
52: 6(int) Load 8(invocation)
55: 41(ptr) AccessChain 27(data) 53 29
56: 18(fvec4) Load 55
57: 54(fvec3) VectorShuffle 56 56 0 1 2
58: 6(int) Load 8(invocation)
59: 54(fvec3) GroupNonUniformShuffle 35 57 58
60: 31(ptr) AccessChain 27(data) 52 29 30
61: 17(float) CompositeExtract 59 0
Store 60 61
62: 31(ptr) AccessChain 27(data) 52 29 49
63: 17(float) CompositeExtract 59 1
Store 62 63
65: 31(ptr) AccessChain 27(data) 52 29 64
66: 17(float) CompositeExtract 59 2
Store 65 66
67: 6(int) Load 8(invocation)
69: 41(ptr) AccessChain 27(data) 68 29
70: 18(fvec4) Load 69
71: 6(int) Load 8(invocation)
72: 18(fvec4) GroupNonUniformShuffle 35 70 71
73: 41(ptr) AccessChain 27(data) 67 29
Store 73 72
74: 6(int) Load 8(invocation)
76: 75(ptr) AccessChain 27(data) 29 39 30
77: 19(int) Load 76
78: 6(int) Load 8(invocation)
79: 19(int) GroupNonUniformShuffle 35 77 78
80: 75(ptr) AccessChain 27(data) 74 39 30
Store 80 79
81: 6(int) Load 8(invocation)
84: 83(ptr) AccessChain 27(data) 39 39
85: 20(ivec4) Load 84
86: 82(ivec2) VectorShuffle 85 85 0 1
87: 6(int) Load 8(invocation)
88: 82(ivec2) GroupNonUniformShuffle 35 86 87
89: 75(ptr) AccessChain 27(data) 81 39 30
90: 19(int) CompositeExtract 88 0
Store 89 90
91: 75(ptr) AccessChain 27(data) 81 39 49
92: 19(int) CompositeExtract 88 1
Store 91 92
93: 6(int) Load 8(invocation)
95: 83(ptr) AccessChain 27(data) 53 39
96: 20(ivec4) Load 95
97: 94(ivec3) VectorShuffle 96 96 0 1 2
98: 6(int) Load 8(invocation)
99: 94(ivec3) GroupNonUniformShuffle 35 97 98
100: 75(ptr) AccessChain 27(data) 93 39 30
101: 19(int) CompositeExtract 99 0
Store 100 101
102: 75(ptr) AccessChain 27(data) 93 39 49
103: 19(int) CompositeExtract 99 1
Store 102 103
104: 75(ptr) AccessChain 27(data) 93 39 64
105: 19(int) CompositeExtract 99 2
Store 104 105
106: 6(int) Load 8(invocation)
107: 83(ptr) AccessChain 27(data) 68 39
108: 20(ivec4) Load 107
109: 6(int) Load 8(invocation)
110: 20(ivec4) GroupNonUniformShuffle 35 108 109
111: 83(ptr) AccessChain 27(data) 106 39
Store 111 110
112: 6(int) Load 8(invocation)
114: 113(ptr) AccessChain 27(data) 29 53 30
115: 6(int) Load 114
116: 6(int) Load 8(invocation)
117: 6(int) GroupNonUniformShuffle 35 115 116
118: 113(ptr) AccessChain 27(data) 112 53 30
Store 118 117
119: 6(int) Load 8(invocation)
122: 121(ptr) AccessChain 27(data) 39 53
123: 21(ivec4) Load 122
124: 120(ivec2) VectorShuffle 123 123 0 1
125: 6(int) Load 8(invocation)
126: 120(ivec2) GroupNonUniformShuffle 35 124 125
127: 113(ptr) AccessChain 27(data) 119 53 30
128: 6(int) CompositeExtract 126 0
Store 127 128
129: 113(ptr) AccessChain 27(data) 119 53 49
130: 6(int) CompositeExtract 126 1
Store 129 130
131: 6(int) Load 8(invocation)
133: 121(ptr) AccessChain 27(data) 53 53
134: 21(ivec4) Load 133
135: 132(ivec3) VectorShuffle 134 134 0 1 2
136: 6(int) Load 8(invocation)
137: 132(ivec3) GroupNonUniformShuffle 35 135 136
138: 113(ptr) AccessChain 27(data) 131 53 30
139: 6(int) CompositeExtract 137 0
Store 138 139
140: 113(ptr) AccessChain 27(data) 131 53 49
141: 6(int) CompositeExtract 137 1
Store 140 141
142: 113(ptr) AccessChain 27(data) 131 53 64
143: 6(int) CompositeExtract 137 2
Store 142 143
144: 6(int) Load 8(invocation)
145: 121(ptr) AccessChain 27(data) 68 53
146: 21(ivec4) Load 145
147: 6(int) Load 8(invocation)
148: 21(ivec4) GroupNonUniformShuffle 35 146 147
149: 121(ptr) AccessChain 27(data) 144 53
Store 149 148
150: 6(int) Load 8(invocation)
152: 151(ptr) AccessChain 27(data) 29 68 30
153:22(float64_t) Load 152
154: 6(int) Load 8(invocation)
155:22(float64_t) GroupNonUniformShuffle 35 153 154
156: 151(ptr) AccessChain 27(data) 150 68 30
Store 156 155
157: 6(int) Load 8(invocation)
160: 159(ptr) AccessChain 27(data) 39 68
161: 23(f64vec4) Load 160
162:158(f64vec2) VectorShuffle 161 161 0 1
163: 6(int) Load 8(invocation)
164:158(f64vec2) GroupNonUniformShuffle 35 162 163
165: 151(ptr) AccessChain 27(data) 157 68 30
166:22(float64_t) CompositeExtract 164 0
Store 165 166
167: 151(ptr) AccessChain 27(data) 157 68 49
168:22(float64_t) CompositeExtract 164 1
Store 167 168
169: 6(int) Load 8(invocation)
171: 159(ptr) AccessChain 27(data) 53 68
172: 23(f64vec4) Load 171
173:170(f64vec3) VectorShuffle 172 172 0 1 2
174: 6(int) Load 8(invocation)
175:170(f64vec3) GroupNonUniformShuffle 35 173 174
176: 151(ptr) AccessChain 27(data) 169 68 30
177:22(float64_t) CompositeExtract 175 0
Store 176 177
178: 151(ptr) AccessChain 27(data) 169 68 49
179:22(float64_t) CompositeExtract 175 1
Store 178 179
180: 151(ptr) AccessChain 27(data) 169 68 64
181:22(float64_t) CompositeExtract 175 2
Store 180 181
182: 6(int) Load 8(invocation)
183: 159(ptr) AccessChain 27(data) 68 68
184: 23(f64vec4) Load 183
185: 6(int) Load 8(invocation)
186: 23(f64vec4) GroupNonUniformShuffle 35 184 185
187: 159(ptr) AccessChain 27(data) 182 68
Store 187 186
188: 6(int) Load 8(invocation)
189: 75(ptr) AccessChain 27(data) 29 39 30
190: 19(int) Load 189
192: 191(bool) SLessThan 190 29
193: 6(int) Load 8(invocation)
194: 191(bool) GroupNonUniformShuffle 35 192 193
195: 19(int) Select 194 39 29
196: 75(ptr) AccessChain 27(data) 188 39 30
Store 196 195
197: 6(int) Load 8(invocation)
198: 83(ptr) AccessChain 27(data) 39 39
199: 20(ivec4) Load 198
200: 82(ivec2) VectorShuffle 199 199 0 1
203: 202(bvec2) SLessThan 200 201
204: 6(int) Load 8(invocation)
205: 202(bvec2) GroupNonUniformShuffle 35 203 204
207: 82(ivec2) Select 205 206 201
208: 75(ptr) AccessChain 27(data) 197 39 30
209: 19(int) CompositeExtract 207 0
Store 208 209
210: 75(ptr) AccessChain 27(data) 197 39 49
211: 19(int) CompositeExtract 207 1
Store 210 211
212: 6(int) Load 8(invocation)
213: 83(ptr) AccessChain 27(data) 39 39
214: 20(ivec4) Load 213
215: 94(ivec3) VectorShuffle 214 214 0 1 2
218: 217(bvec3) SLessThan 215 216
219: 6(int) Load 8(invocation)
220: 217(bvec3) GroupNonUniformShuffle 35 218 219
222: 94(ivec3) Select 220 221 216
223: 75(ptr) AccessChain 27(data) 212 39 30
224: 19(int) CompositeExtract 222 0
Store 223 224
225: 75(ptr) AccessChain 27(data) 212 39 49
226: 19(int) CompositeExtract 222 1
Store 225 226
227: 75(ptr) AccessChain 27(data) 212 39 64
228: 19(int) CompositeExtract 222 2
Store 227 228
229: 6(int) Load 8(invocation)
230: 83(ptr) AccessChain 27(data) 39 39
231: 20(ivec4) Load 230
234: 233(bvec4) SLessThan 231 232
235: 6(int) Load 8(invocation)
236: 233(bvec4) GroupNonUniformShuffle 35 234 235
238: 20(ivec4) Select 236 237 232
239: 83(ptr) AccessChain 27(data) 229 39
Store 239 238
240: 6(int) Load 8(invocation)
241: 31(ptr) AccessChain 27(data) 29 29 30
242: 17(float) Load 241
243: 6(int) Load 8(invocation)
244: 17(float) GroupNonUniformShuffleXor 35 242 243
245: 31(ptr) AccessChain 27(data) 240 29 30
Store 245 244
246: 6(int) Load 8(invocation)
247: 41(ptr) AccessChain 27(data) 39 29
248: 18(fvec4) Load 247
249: 40(fvec2) VectorShuffle 248 248 0 1
250: 6(int) Load 8(invocation)
251: 40(fvec2) GroupNonUniformShuffleXor 35 249 250
252: 31(ptr) AccessChain 27(data) 246 29 30
253: 17(float) CompositeExtract 251 0
Store 252 253
254: 31(ptr) AccessChain 27(data) 246 29 49
255: 17(float) CompositeExtract 251 1
Store 254 255
256: 6(int) Load 8(invocation)
257: 41(ptr) AccessChain 27(data) 53 29
258: 18(fvec4) Load 257
259: 54(fvec3) VectorShuffle 258 258 0 1 2
260: 6(int) Load 8(invocation)
261: 54(fvec3) GroupNonUniformShuffleXor 35 259 260
262: 31(ptr) AccessChain 27(data) 256 29 30
263: 17(float) CompositeExtract 261 0
Store 262 263
264: 31(ptr) AccessChain 27(data) 256 29 49
265: 17(float) CompositeExtract 261 1
Store 264 265
266: 31(ptr) AccessChain 27(data) 256 29 64
267: 17(float) CompositeExtract 261 2
Store 266 267
268: 6(int) Load 8(invocation)
269: 41(ptr) AccessChain 27(data) 68 29
270: 18(fvec4) Load 269
271: 6(int) Load 8(invocation)
272: 18(fvec4) GroupNonUniformShuffleXor 35 270 271
273: 41(ptr) AccessChain 27(data) 268 29
Store 273 272
274: 6(int) Load 8(invocation)
275: 75(ptr) AccessChain 27(data) 29 39 30
276: 19(int) Load 275
277: 6(int) Load 8(invocation)
278: 19(int) GroupNonUniformShuffleXor 35 276 277
279: 75(ptr) AccessChain 27(data) 274 39 30
Store 279 278
280: 6(int) Load 8(invocation)
281: 83(ptr) AccessChain 27(data) 39 39
282: 20(ivec4) Load 281
283: 82(ivec2) VectorShuffle 282 282 0 1
284: 6(int) Load 8(invocation)
285: 82(ivec2) GroupNonUniformShuffleXor 35 283 284
286: 75(ptr) AccessChain 27(data) 280 39 30
287: 19(int) CompositeExtract 285 0
Store 286 287
288: 75(ptr) AccessChain 27(data) 280 39 49
289: 19(int) CompositeExtract 285 1
Store 288 289
290: 6(int) Load 8(invocation)
291: 83(ptr) AccessChain 27(data) 53 39
292: 20(ivec4) Load 291
293: 94(ivec3) VectorShuffle 292 292 0 1 2
294: 6(int) Load 8(invocation)
295: 94(ivec3) GroupNonUniformShuffleXor 35 293 294
296: 75(ptr) AccessChain 27(data) 290 39 30
297: 19(int) CompositeExtract 295 0
Store 296 297
298: 75(ptr) AccessChain 27(data) 290 39 49
299: 19(int) CompositeExtract 295 1
Store 298 299
300: 75(ptr) AccessChain 27(data) 290 39 64
301: 19(int) CompositeExtract 295 2
Store 300 301
302: 6(int) Load 8(invocation)
303: 83(ptr) AccessChain 27(data) 68 39
304: 20(ivec4) Load 303
305: 6(int) Load 8(invocation)
306: 20(ivec4) GroupNonUniformShuffleXor 35 304 305
307: 83(ptr) AccessChain 27(data) 302 39
Store 307 306
308: 6(int) Load 8(invocation)
309: 113(ptr) AccessChain 27(data) 29 53 30
310: 6(int) Load 309
311: 6(int) Load 8(invocation)
312: 6(int) GroupNonUniformShuffleXor 35 310 311
313: 113(ptr) AccessChain 27(data) 308 53 30
Store 313 312
314: 6(int) Load 8(invocation)
315: 121(ptr) AccessChain 27(data) 39 53
316: 21(ivec4) Load 315
317: 120(ivec2) VectorShuffle 316 316 0 1
318: 6(int) Load 8(invocation)
319: 120(ivec2) GroupNonUniformShuffleXor 35 317 318
320: 113(ptr) AccessChain 27(data) 314 53 30
321: 6(int) CompositeExtract 319 0
Store 320 321
322: 113(ptr) AccessChain 27(data) 314 53 49
323: 6(int) CompositeExtract 319 1
Store 322 323
324: 6(int) Load 8(invocation)
325: 121(ptr) AccessChain 27(data) 53 53
326: 21(ivec4) Load 325
327: 132(ivec3) VectorShuffle 326 326 0 1 2
328: 6(int) Load 8(invocation)
329: 132(ivec3) GroupNonUniformShuffleXor 35 327 328
330: 113(ptr) AccessChain 27(data) 324 53 30
331: 6(int) CompositeExtract 329 0
Store 330 331
332: 113(ptr) AccessChain 27(data) 324 53 49
333: 6(int) CompositeExtract 329 1
Store 332 333
334: 113(ptr) AccessChain 27(data) 324 53 64
335: 6(int) CompositeExtract 329 2
Store 334 335
336: 6(int) Load 8(invocation)
337: 121(ptr) AccessChain 27(data) 68 53
338: 21(ivec4) Load 337
339: 6(int) Load 8(invocation)
340: 21(ivec4) GroupNonUniformShuffleXor 35 338 339
341: 121(ptr) AccessChain 27(data) 336 53
Store 341 340
342: 6(int) Load 8(invocation)
343: 151(ptr) AccessChain 27(data) 29 68 30
344:22(float64_t) Load 343
345: 6(int) Load 8(invocation)
346:22(float64_t) GroupNonUniformShuffleXor 35 344 345
347: 151(ptr) AccessChain 27(data) 342 68 30
Store 347 346
348: 6(int) Load 8(invocation)
349: 159(ptr) AccessChain 27(data) 39 68
350: 23(f64vec4) Load 349
351:158(f64vec2) VectorShuffle 350 350 0 1
352: 6(int) Load 8(invocation)
353:158(f64vec2) GroupNonUniformShuffleXor 35 351 352
354: 151(ptr) AccessChain 27(data) 348 68 30
355:22(float64_t) CompositeExtract 353 0
Store 354 355
356: 151(ptr) AccessChain 27(data) 348 68 49
357:22(float64_t) CompositeExtract 353 1
Store 356 357
358: 6(int) Load 8(invocation)
359: 159(ptr) AccessChain 27(data) 53 68
360: 23(f64vec4) Load 359
361:170(f64vec3) VectorShuffle 360 360 0 1 2
362: 6(int) Load 8(invocation)
363:170(f64vec3) GroupNonUniformShuffleXor 35 361 362
364: 151(ptr) AccessChain 27(data) 358 68 30
365:22(float64_t) CompositeExtract 363 0
Store 364 365
366: 151(ptr) AccessChain 27(data) 358 68 49
367:22(float64_t) CompositeExtract 363 1
Store 366 367
368: 151(ptr) AccessChain 27(data) 358 68 64
369:22(float64_t) CompositeExtract 363 2
Store 368 369
370: 6(int) Load 8(invocation)
371: 159(ptr) AccessChain 27(data) 68 68
372: 23(f64vec4) Load 371
373: 6(int) Load 8(invocation)
374: 23(f64vec4) GroupNonUniformShuffleXor 35 372 373
375: 159(ptr) AccessChain 27(data) 370 68
Store 375 374
376: 6(int) Load 8(invocation)
377: 75(ptr) AccessChain 27(data) 29 39 30
378: 19(int) Load 377
379: 191(bool) SLessThan 378 29
380: 6(int) Load 8(invocation)
381: 191(bool) GroupNonUniformShuffleXor 35 379 380
382: 19(int) Select 381 39 29
383: 75(ptr) AccessChain 27(data) 376 39 30
Store 383 382
384: 6(int) Load 8(invocation)
385: 83(ptr) AccessChain 27(data) 39 39
386: 20(ivec4) Load 385
387: 82(ivec2) VectorShuffle 386 386 0 1
388: 202(bvec2) SLessThan 387 201
389: 6(int) Load 8(invocation)
390: 202(bvec2) GroupNonUniformShuffleXor 35 388 389
391: 82(ivec2) Select 390 206 201
392: 75(ptr) AccessChain 27(data) 384 39 30
393: 19(int) CompositeExtract 391 0
Store 392 393
394: 75(ptr) AccessChain 27(data) 384 39 49
395: 19(int) CompositeExtract 391 1
Store 394 395
396: 6(int) Load 8(invocation)
397: 83(ptr) AccessChain 27(data) 39 39
398: 20(ivec4) Load 397
399: 94(ivec3) VectorShuffle 398 398 0 1 2
400: 217(bvec3) SLessThan 399 216
401: 6(int) Load 8(invocation)
402: 217(bvec3) GroupNonUniformShuffleXor 35 400 401
403: 94(ivec3) Select 402 221 216
404: 75(ptr) AccessChain 27(data) 396 39 30
405: 19(int) CompositeExtract 403 0
Store 404 405
406: 75(ptr) AccessChain 27(data) 396 39 49
407: 19(int) CompositeExtract 403 1
Store 406 407
408: 75(ptr) AccessChain 27(data) 396 39 64
409: 19(int) CompositeExtract 403 2
Store 408 409
410: 6(int) Load 8(invocation)
411: 83(ptr) AccessChain 27(data) 39 39
412: 20(ivec4) Load 411
413: 233(bvec4) SLessThan 412 232
414: 6(int) Load 8(invocation)
415: 233(bvec4) GroupNonUniformShuffleXor 35 413 414
416: 20(ivec4) Select 415 237 232
417: 83(ptr) AccessChain 27(data) 410 39
Store 417 416
Return
FunctionEnd
|