blob: 51cb7ac1839a3b19c5f6d0b3fe89accab4dc4556 [file] [log] [blame]
spv.subgroupBallot.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 437
Capability Shader
Capability Float64
Capability GroupNonUniform
Capability GroupNonUniformBallot
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main" 10 12 21 23 26 29 32
ExecutionMode 4 LocalSize 8 8 1
Source GLSL 450
SourceExtension "GL_KHR_shader_subgroup_ballot"
SourceExtension "GL_KHR_shader_subgroup_basic"
Name 4 "main"
Name 8 "invocation"
Name 10 "gl_SubgroupInvocationID"
Name 12 "gl_SubgroupSize"
Name 19 "relMask"
Name 21 "gl_SubgroupEqMask"
Name 23 "gl_SubgroupGeMask"
Name 26 "gl_SubgroupGtMask"
Name 29 "gl_SubgroupLeMask"
Name 32 "gl_SubgroupLtMask"
Name 35 "result"
Name 46 "Buffers"
MemberName 46(Buffers) 0 "f4"
MemberName 46(Buffers) 1 "i4"
MemberName 46(Buffers) 2 "u4"
MemberName 46(Buffers) 3 "d4"
Name 49 "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
Decorate 21(gl_SubgroupEqMask) BuiltIn SubgroupEqMaskKHR
Decorate 23(gl_SubgroupGeMask) BuiltIn SubgroupGeMaskKHR
Decorate 26(gl_SubgroupGtMask) BuiltIn SubgroupGtMaskKHR
Decorate 29(gl_SubgroupLeMask) BuiltIn SubgroupLeMaskKHR
Decorate 32(gl_SubgroupLtMask) BuiltIn SubgroupLtMaskKHR
MemberDecorate 46(Buffers) 0 Offset 0
MemberDecorate 46(Buffers) 1 Offset 16
MemberDecorate 46(Buffers) 2 Offset 32
MemberDecorate 46(Buffers) 3 Offset 64
Decorate 46(Buffers) Block
Decorate 49(data) DescriptorSet 0
Decorate 49(data) Binding 0
Decorate 436 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: TypeVector 6(int) 4
18: TypePointer Function 17(ivec4)
20: TypePointer Input 17(ivec4)
21(gl_SubgroupEqMask): 20(ptr) Variable Input
23(gl_SubgroupGeMask): 20(ptr) Variable Input
26(gl_SubgroupGtMask): 20(ptr) Variable Input
29(gl_SubgroupLeMask): 20(ptr) Variable Input
32(gl_SubgroupLtMask): 20(ptr) Variable Input
36: TypeBool
37: 36(bool) ConstantTrue
38: 6(int) Constant 3
40: TypeFloat 32
41: TypeVector 40(float) 4
42: TypeInt 32 1
43: TypeVector 42(int) 4
44: TypeFloat 64
45: TypeVector 44(float64_t) 4
46(Buffers): TypeStruct 41(fvec4) 43(ivec4) 17(ivec4) 45(f64vec4)
47: TypeArray 46(Buffers) 15
48: TypePointer StorageBuffer 47
49(data): 48(ptr) Variable StorageBuffer
51: 42(int) Constant 2
54: 6(int) Constant 0
55: TypePointer StorageBuffer 6(int)
60: 42(int) Constant 1
61: 42(int) Constant 0
64: 6(int) Constant 1
72: 6(int) Constant 2
83: TypeVector 36(bool) 4
88: TypePointer StorageBuffer 17(ivec4)
96: TypePointer StorageBuffer 40(float)
102: TypeVector 40(float) 2
103: TypePointer StorageBuffer 41(fvec4)
113: TypeVector 40(float) 3
125: 42(int) Constant 3
131: TypePointer StorageBuffer 42(int)
137: TypeVector 42(int) 2
138: TypePointer StorageBuffer 43(ivec4)
148: TypeVector 42(int) 3
170: TypeVector 6(int) 2
180: TypeVector 6(int) 3
197: TypePointer StorageBuffer 44(float64_t)
203: TypeVector 44(float64_t) 2
204: TypePointer StorageBuffer 45(f64vec4)
214: TypeVector 44(float64_t) 3
241: 137(ivec2) ConstantComposite 61 61
242: TypeVector 36(bool) 2
245: 137(ivec2) ConstantComposite 60 60
255: 148(ivec3) ConstantComposite 61 61 61
256: TypeVector 36(bool) 3
259: 148(ivec3) ConstantComposite 60 60 60
270: 43(ivec4) ConstantComposite 61 61 61 61
273: 43(ivec4) ConstantComposite 60 60 60 60
435: 6(int) Constant 8
436: 180(ivec3) ConstantComposite 435 435 64
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
19(relMask): 18(ptr) Variable Function
35(result): 18(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
22: 17(ivec4) Load 21(gl_SubgroupEqMask)
24: 17(ivec4) Load 23(gl_SubgroupGeMask)
25: 17(ivec4) IAdd 22 24
27: 17(ivec4) Load 26(gl_SubgroupGtMask)
28: 17(ivec4) IAdd 25 27
30: 17(ivec4) Load 29(gl_SubgroupLeMask)
31: 17(ivec4) IAdd 28 30
33: 17(ivec4) Load 32(gl_SubgroupLtMask)
34: 17(ivec4) IAdd 31 33
Store 19(relMask) 34
39: 17(ivec4) GroupNonUniformBallot 38 37
Store 35(result) 39
50: 6(int) Load 8(invocation)
52: 17(ivec4) Load 35(result)
53: 6(int) GroupNonUniformBallotBitCount 38 Reduce 52
56: 55(ptr) AccessChain 49(data) 50 51 54
Store 56 53
57: 6(int) Load 8(invocation)
58: 17(ivec4) Load 35(result)
59: 36(bool) GroupNonUniformBallotBitExtract 38 58 54
62: 42(int) Select 59 60 61
63: 6(int) Bitcast 62
65: 55(ptr) AccessChain 49(data) 57 51 64
Store 65 63
66: 6(int) Load 8(invocation)
67: 17(ivec4) Load 35(result)
68: 6(int) GroupNonUniformBallotBitCount 38 InclusiveScan 67
69: 17(ivec4) Load 35(result)
70: 6(int) GroupNonUniformBallotBitCount 38 ExclusiveScan 69
71: 6(int) IAdd 68 70
73: 55(ptr) AccessChain 49(data) 66 51 72
Store 73 71
74: 6(int) Load 8(invocation)
75: 17(ivec4) Load 35(result)
76: 6(int) GroupNonUniformBallotFindLSB 38 75
77: 17(ivec4) Load 35(result)
78: 6(int) GroupNonUniformBallotFindMSB 38 77
79: 6(int) IAdd 76 78
80: 55(ptr) AccessChain 49(data) 74 51 38
Store 80 79
81: 17(ivec4) Load 19(relMask)
82: 17(ivec4) Load 35(result)
84: 83(bvec4) IEqual 81 82
85: 36(bool) All 84
SelectionMerge 87 None
BranchConditional 85 86 87
86: Label
89: 88(ptr) AccessChain 49(data) 61 51
90: 17(ivec4) Load 89
91: 36(bool) GroupNonUniformInverseBallot 38 90
Branch 87
87: Label
92: 36(bool) Phi 85 5 91 86
SelectionMerge 94 None
BranchConditional 92 93 276
93: Label
95: 6(int) Load 8(invocation)
97: 96(ptr) AccessChain 49(data) 61 61 54
98: 40(float) Load 97
99: 40(float) GroupNonUniformBroadcast 38 98 38
100: 96(ptr) AccessChain 49(data) 95 61 54
Store 100 99
101: 6(int) Load 8(invocation)
104: 103(ptr) AccessChain 49(data) 60 61
105: 41(fvec4) Load 104
106: 102(fvec2) VectorShuffle 105 105 0 1
107: 102(fvec2) GroupNonUniformBroadcast 38 106 38
108: 96(ptr) AccessChain 49(data) 101 61 54
109: 40(float) CompositeExtract 107 0
Store 108 109
110: 96(ptr) AccessChain 49(data) 101 61 64
111: 40(float) CompositeExtract 107 1
Store 110 111
112: 6(int) Load 8(invocation)
114: 103(ptr) AccessChain 49(data) 51 61
115: 41(fvec4) Load 114
116: 113(fvec3) VectorShuffle 115 115 0 1 2
117: 113(fvec3) GroupNonUniformBroadcast 38 116 38
118: 96(ptr) AccessChain 49(data) 112 61 54
119: 40(float) CompositeExtract 117 0
Store 118 119
120: 96(ptr) AccessChain 49(data) 112 61 64
121: 40(float) CompositeExtract 117 1
Store 120 121
122: 96(ptr) AccessChain 49(data) 112 61 72
123: 40(float) CompositeExtract 117 2
Store 122 123
124: 6(int) Load 8(invocation)
126: 103(ptr) AccessChain 49(data) 125 61
127: 41(fvec4) Load 126
128: 41(fvec4) GroupNonUniformBroadcast 38 127 38
129: 103(ptr) AccessChain 49(data) 124 61
Store 129 128
130: 6(int) Load 8(invocation)
132: 131(ptr) AccessChain 49(data) 61 60 54
133: 42(int) Load 132
134: 42(int) GroupNonUniformBroadcast 38 133 72
135: 131(ptr) AccessChain 49(data) 130 60 54
Store 135 134
136: 6(int) Load 8(invocation)
139: 138(ptr) AccessChain 49(data) 60 60
140: 43(ivec4) Load 139
141: 137(ivec2) VectorShuffle 140 140 0 1
142: 137(ivec2) GroupNonUniformBroadcast 38 141 72
143: 131(ptr) AccessChain 49(data) 136 60 54
144: 42(int) CompositeExtract 142 0
Store 143 144
145: 131(ptr) AccessChain 49(data) 136 60 64
146: 42(int) CompositeExtract 142 1
Store 145 146
147: 6(int) Load 8(invocation)
149: 138(ptr) AccessChain 49(data) 51 60
150: 43(ivec4) Load 149
151: 148(ivec3) VectorShuffle 150 150 0 1 2
152: 148(ivec3) GroupNonUniformBroadcast 38 151 72
153: 131(ptr) AccessChain 49(data) 147 60 54
154: 42(int) CompositeExtract 152 0
Store 153 154
155: 131(ptr) AccessChain 49(data) 147 60 64
156: 42(int) CompositeExtract 152 1
Store 155 156
157: 131(ptr) AccessChain 49(data) 147 60 72
158: 42(int) CompositeExtract 152 2
Store 157 158
159: 6(int) Load 8(invocation)
160: 138(ptr) AccessChain 49(data) 125 60
161: 43(ivec4) Load 160
162: 43(ivec4) GroupNonUniformBroadcast 38 161 72
163: 138(ptr) AccessChain 49(data) 159 60
Store 163 162
164: 6(int) Load 8(invocation)
165: 55(ptr) AccessChain 49(data) 61 51 54
166: 6(int) Load 165
167: 6(int) GroupNonUniformBroadcast 38 166 64
168: 55(ptr) AccessChain 49(data) 164 51 54
Store 168 167
169: 6(int) Load 8(invocation)
171: 88(ptr) AccessChain 49(data) 60 51
172: 17(ivec4) Load 171
173: 170(ivec2) VectorShuffle 172 172 0 1
174: 170(ivec2) GroupNonUniformBroadcast 38 173 64
175: 55(ptr) AccessChain 49(data) 169 51 54
176: 6(int) CompositeExtract 174 0
Store 175 176
177: 55(ptr) AccessChain 49(data) 169 51 64
178: 6(int) CompositeExtract 174 1
Store 177 178
179: 6(int) Load 8(invocation)
181: 88(ptr) AccessChain 49(data) 51 51
182: 17(ivec4) Load 181
183: 180(ivec3) VectorShuffle 182 182 0 1 2
184: 180(ivec3) GroupNonUniformBroadcast 38 183 64
185: 55(ptr) AccessChain 49(data) 179 51 54
186: 6(int) CompositeExtract 184 0
Store 185 186
187: 55(ptr) AccessChain 49(data) 179 51 64
188: 6(int) CompositeExtract 184 1
Store 187 188
189: 55(ptr) AccessChain 49(data) 179 51 72
190: 6(int) CompositeExtract 184 2
Store 189 190
191: 6(int) Load 8(invocation)
192: 88(ptr) AccessChain 49(data) 125 51
193: 17(ivec4) Load 192
194: 17(ivec4) GroupNonUniformBroadcast 38 193 64
195: 88(ptr) AccessChain 49(data) 191 51
Store 195 194
196: 6(int) Load 8(invocation)
198: 197(ptr) AccessChain 49(data) 61 125 54
199:44(float64_t) Load 198
200:44(float64_t) GroupNonUniformBroadcast 38 199 54
201: 197(ptr) AccessChain 49(data) 196 125 54
Store 201 200
202: 6(int) Load 8(invocation)
205: 204(ptr) AccessChain 49(data) 60 125
206: 45(f64vec4) Load 205
207:203(f64vec2) VectorShuffle 206 206 0 1
208:203(f64vec2) GroupNonUniformBroadcast 38 207 54
209: 197(ptr) AccessChain 49(data) 202 125 54
210:44(float64_t) CompositeExtract 208 0
Store 209 210
211: 197(ptr) AccessChain 49(data) 202 125 64
212:44(float64_t) CompositeExtract 208 1
Store 211 212
213: 6(int) Load 8(invocation)
215: 204(ptr) AccessChain 49(data) 51 125
216: 45(f64vec4) Load 215
217:214(f64vec3) VectorShuffle 216 216 0 1 2
218:214(f64vec3) GroupNonUniformBroadcast 38 217 54
219: 197(ptr) AccessChain 49(data) 213 125 54
220:44(float64_t) CompositeExtract 218 0
Store 219 220
221: 197(ptr) AccessChain 49(data) 213 125 64
222:44(float64_t) CompositeExtract 218 1
Store 221 222
223: 197(ptr) AccessChain 49(data) 213 125 72
224:44(float64_t) CompositeExtract 218 2
Store 223 224
225: 6(int) Load 8(invocation)
226: 204(ptr) AccessChain 49(data) 125 125
227: 45(f64vec4) Load 226
228: 45(f64vec4) GroupNonUniformBroadcast 38 227 54
229: 204(ptr) AccessChain 49(data) 225 125
Store 229 228
230: 6(int) Load 8(invocation)
231: 131(ptr) AccessChain 49(data) 61 60 54
232: 42(int) Load 231
233: 36(bool) SLessThan 232 61
234: 36(bool) GroupNonUniformBroadcast 38 233 64
235: 42(int) Select 234 60 61
236: 131(ptr) AccessChain 49(data) 230 60 54
Store 236 235
237: 6(int) Load 8(invocation)
238: 138(ptr) AccessChain 49(data) 60 60
239: 43(ivec4) Load 238
240: 137(ivec2) VectorShuffle 239 239 0 1
243: 242(bvec2) SLessThan 240 241
244: 242(bvec2) GroupNonUniformBroadcast 38 243 64
246: 137(ivec2) Select 244 245 241
247: 131(ptr) AccessChain 49(data) 237 60 54
248: 42(int) CompositeExtract 246 0
Store 247 248
249: 131(ptr) AccessChain 49(data) 237 60 64
250: 42(int) CompositeExtract 246 1
Store 249 250
251: 6(int) Load 8(invocation)
252: 138(ptr) AccessChain 49(data) 60 60
253: 43(ivec4) Load 252
254: 148(ivec3) VectorShuffle 253 253 0 1 2
257: 256(bvec3) SLessThan 254 255
258: 256(bvec3) GroupNonUniformBroadcast 38 257 64
260: 148(ivec3) Select 258 259 255
261: 131(ptr) AccessChain 49(data) 251 60 54
262: 42(int) CompositeExtract 260 0
Store 261 262
263: 131(ptr) AccessChain 49(data) 251 60 64
264: 42(int) CompositeExtract 260 1
Store 263 264
265: 131(ptr) AccessChain 49(data) 251 60 72
266: 42(int) CompositeExtract 260 2
Store 265 266
267: 6(int) Load 8(invocation)
268: 138(ptr) AccessChain 49(data) 60 60
269: 43(ivec4) Load 268
271: 83(bvec4) SLessThan 269 270
272: 83(bvec4) GroupNonUniformBroadcast 38 271 64
274: 43(ivec4) Select 272 273 270
275: 138(ptr) AccessChain 49(data) 267 60
Store 275 274
Branch 94
276: Label
277: 6(int) Load 8(invocation)
278: 96(ptr) AccessChain 49(data) 61 61 54
279: 40(float) Load 278
280: 40(float) GroupNonUniformBroadcastFirst 38 279
281: 96(ptr) AccessChain 49(data) 277 61 54
Store 281 280
282: 6(int) Load 8(invocation)
283: 103(ptr) AccessChain 49(data) 60 61
284: 41(fvec4) Load 283
285: 102(fvec2) VectorShuffle 284 284 0 1
286: 102(fvec2) GroupNonUniformBroadcastFirst 38 285
287: 96(ptr) AccessChain 49(data) 282 61 54
288: 40(float) CompositeExtract 286 0
Store 287 288
289: 96(ptr) AccessChain 49(data) 282 61 64
290: 40(float) CompositeExtract 286 1
Store 289 290
291: 6(int) Load 8(invocation)
292: 103(ptr) AccessChain 49(data) 51 61
293: 41(fvec4) Load 292
294: 113(fvec3) VectorShuffle 293 293 0 1 2
295: 113(fvec3) GroupNonUniformBroadcastFirst 38 294
296: 96(ptr) AccessChain 49(data) 291 61 54
297: 40(float) CompositeExtract 295 0
Store 296 297
298: 96(ptr) AccessChain 49(data) 291 61 64
299: 40(float) CompositeExtract 295 1
Store 298 299
300: 96(ptr) AccessChain 49(data) 291 61 72
301: 40(float) CompositeExtract 295 2
Store 300 301
302: 6(int) Load 8(invocation)
303: 103(ptr) AccessChain 49(data) 125 61
304: 41(fvec4) Load 303
305: 41(fvec4) GroupNonUniformBroadcastFirst 38 304
306: 103(ptr) AccessChain 49(data) 302 61
Store 306 305
307: 6(int) Load 8(invocation)
308: 131(ptr) AccessChain 49(data) 61 60 54
309: 42(int) Load 308
310: 42(int) GroupNonUniformBroadcastFirst 38 309
311: 131(ptr) AccessChain 49(data) 307 60 54
Store 311 310
312: 6(int) Load 8(invocation)
313: 138(ptr) AccessChain 49(data) 60 60
314: 43(ivec4) Load 313
315: 137(ivec2) VectorShuffle 314 314 0 1
316: 137(ivec2) GroupNonUniformBroadcastFirst 38 315
317: 131(ptr) AccessChain 49(data) 312 60 54
318: 42(int) CompositeExtract 316 0
Store 317 318
319: 131(ptr) AccessChain 49(data) 312 60 64
320: 42(int) CompositeExtract 316 1
Store 319 320
321: 6(int) Load 8(invocation)
322: 138(ptr) AccessChain 49(data) 51 60
323: 43(ivec4) Load 322
324: 148(ivec3) VectorShuffle 323 323 0 1 2
325: 148(ivec3) GroupNonUniformBroadcastFirst 38 324
326: 131(ptr) AccessChain 49(data) 321 60 54
327: 42(int) CompositeExtract 325 0
Store 326 327
328: 131(ptr) AccessChain 49(data) 321 60 64
329: 42(int) CompositeExtract 325 1
Store 328 329
330: 131(ptr) AccessChain 49(data) 321 60 72
331: 42(int) CompositeExtract 325 2
Store 330 331
332: 6(int) Load 8(invocation)
333: 138(ptr) AccessChain 49(data) 125 60
334: 43(ivec4) Load 333
335: 43(ivec4) GroupNonUniformBroadcastFirst 38 334
336: 138(ptr) AccessChain 49(data) 332 60
Store 336 335
337: 6(int) Load 8(invocation)
338: 55(ptr) AccessChain 49(data) 61 51 54
339: 6(int) Load 338
340: 6(int) GroupNonUniformBroadcastFirst 38 339
341: 55(ptr) AccessChain 49(data) 337 51 54
Store 341 340
342: 6(int) Load 8(invocation)
343: 88(ptr) AccessChain 49(data) 60 51
344: 17(ivec4) Load 343
345: 170(ivec2) VectorShuffle 344 344 0 1
346: 170(ivec2) GroupNonUniformBroadcastFirst 38 345
347: 55(ptr) AccessChain 49(data) 342 51 54
348: 6(int) CompositeExtract 346 0
Store 347 348
349: 55(ptr) AccessChain 49(data) 342 51 64
350: 6(int) CompositeExtract 346 1
Store 349 350
351: 6(int) Load 8(invocation)
352: 88(ptr) AccessChain 49(data) 51 51
353: 17(ivec4) Load 352
354: 180(ivec3) VectorShuffle 353 353 0 1 2
355: 180(ivec3) GroupNonUniformBroadcastFirst 38 354
356: 55(ptr) AccessChain 49(data) 351 51 54
357: 6(int) CompositeExtract 355 0
Store 356 357
358: 55(ptr) AccessChain 49(data) 351 51 64
359: 6(int) CompositeExtract 355 1
Store 358 359
360: 55(ptr) AccessChain 49(data) 351 51 72
361: 6(int) CompositeExtract 355 2
Store 360 361
362: 6(int) Load 8(invocation)
363: 88(ptr) AccessChain 49(data) 125 51
364: 17(ivec4) Load 363
365: 17(ivec4) GroupNonUniformBroadcastFirst 38 364
366: 88(ptr) AccessChain 49(data) 362 51
Store 366 365
367: 6(int) Load 8(invocation)
368: 197(ptr) AccessChain 49(data) 61 125 54
369:44(float64_t) Load 368
370:44(float64_t) GroupNonUniformBroadcastFirst 38 369
371: 197(ptr) AccessChain 49(data) 367 125 54
Store 371 370
372: 6(int) Load 8(invocation)
373: 204(ptr) AccessChain 49(data) 60 125
374: 45(f64vec4) Load 373
375:203(f64vec2) VectorShuffle 374 374 0 1
376:203(f64vec2) GroupNonUniformBroadcastFirst 38 375
377: 197(ptr) AccessChain 49(data) 372 125 54
378:44(float64_t) CompositeExtract 376 0
Store 377 378
379: 197(ptr) AccessChain 49(data) 372 125 64
380:44(float64_t) CompositeExtract 376 1
Store 379 380
381: 6(int) Load 8(invocation)
382: 204(ptr) AccessChain 49(data) 51 125
383: 45(f64vec4) Load 382
384:214(f64vec3) VectorShuffle 383 383 0 1 2
385:214(f64vec3) GroupNonUniformBroadcastFirst 38 384
386: 197(ptr) AccessChain 49(data) 381 125 54
387:44(float64_t) CompositeExtract 385 0
Store 386 387
388: 197(ptr) AccessChain 49(data) 381 125 64
389:44(float64_t) CompositeExtract 385 1
Store 388 389
390: 197(ptr) AccessChain 49(data) 381 125 72
391:44(float64_t) CompositeExtract 385 2
Store 390 391
392: 6(int) Load 8(invocation)
393: 204(ptr) AccessChain 49(data) 125 125
394: 45(f64vec4) Load 393
395: 45(f64vec4) GroupNonUniformBroadcastFirst 38 394
396: 204(ptr) AccessChain 49(data) 392 125
Store 396 395
397: 6(int) Load 8(invocation)
398: 131(ptr) AccessChain 49(data) 61 60 54
399: 42(int) Load 398
400: 36(bool) SLessThan 399 61
401: 36(bool) GroupNonUniformBroadcastFirst 38 400
402: 42(int) Select 401 60 61
403: 131(ptr) AccessChain 49(data) 397 60 54
Store 403 402
404: 6(int) Load 8(invocation)
405: 138(ptr) AccessChain 49(data) 60 60
406: 43(ivec4) Load 405
407: 137(ivec2) VectorShuffle 406 406 0 1
408: 242(bvec2) SLessThan 407 241
409: 242(bvec2) GroupNonUniformBroadcastFirst 38 408
410: 137(ivec2) Select 409 245 241
411: 131(ptr) AccessChain 49(data) 404 60 54
412: 42(int) CompositeExtract 410 0
Store 411 412
413: 131(ptr) AccessChain 49(data) 404 60 64
414: 42(int) CompositeExtract 410 1
Store 413 414
415: 6(int) Load 8(invocation)
416: 138(ptr) AccessChain 49(data) 60 60
417: 43(ivec4) Load 416
418: 148(ivec3) VectorShuffle 417 417 0 1 2
419: 256(bvec3) SLessThan 418 255
420: 256(bvec3) GroupNonUniformBroadcastFirst 38 419
421: 148(ivec3) Select 420 259 255
422: 131(ptr) AccessChain 49(data) 415 60 54
423: 42(int) CompositeExtract 421 0
Store 422 423
424: 131(ptr) AccessChain 49(data) 415 60 64
425: 42(int) CompositeExtract 421 1
Store 424 425
426: 131(ptr) AccessChain 49(data) 415 60 72
427: 42(int) CompositeExtract 421 2
Store 426 427
428: 6(int) Load 8(invocation)
429: 138(ptr) AccessChain 49(data) 60 60
430: 43(ivec4) Load 429
431: 83(bvec4) SLessThan 430 270
432: 83(bvec4) GroupNonUniformBroadcastFirst 38 431
433: 43(ivec4) Select 432 273 270
434: 138(ptr) AccessChain 49(data) 428 60
Store 434 433
Branch 94
94: Label
Return
FunctionEnd