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