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