• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1spv.subgroupBallot.comp
2// Module Version 10300
3// Generated by (magic number): 8000a
4// Id's are bound by 397
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) Block
52                              Decorate 49(data) DescriptorSet 0
53                              Decorate 49(data) Binding 0
54                              Decorate 396 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 StorageBuffer 47
83        49(data):     48(ptr) Variable StorageBuffer
84              51:     42(int) Constant 2
85              54:      6(int) Constant 0
86              55:             TypePointer StorageBuffer 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 StorageBuffer 17(ivec4)
93              96:             TypePointer StorageBuffer 40(float)
94             102:             TypeVector 40(float) 2
95             103:             TypePointer StorageBuffer 41(fvec4)
96             112:             TypeVector 40(float) 3
97             121:     42(int) Constant 3
98             127:             TypePointer StorageBuffer 42(int)
99             133:             TypeVector 42(int) 2
100             134:             TypePointer StorageBuffer 43(ivec4)
101             143:             TypeVector 42(int) 3
102             162:             TypeVector 6(int) 2
103             171:             TypeVector 6(int) 3
104             185:             TypePointer StorageBuffer 44(float64_t)
105             191:             TypeVector 44(float64_t) 2
106             192:             TypePointer StorageBuffer 45(f64vec4)
107             201:             TypeVector 44(float64_t) 3
108             225:  133(ivec2) ConstantComposite 61 61
109             226:             TypeVector 36(bool) 2
110             229:  133(ivec2) ConstantComposite 60 60
111             238:  143(ivec3) ConstantComposite 61 61 61
112             239:             TypeVector 36(bool) 3
113             242:  143(ivec3) ConstantComposite 60 60 60
114             250:   43(ivec4) ConstantComposite 61 61 61 61
115             253:   43(ivec4) ConstantComposite 60 60 60 60
116             395:      6(int) Constant 8
117             396:  171(ivec3) ConstantComposite 395 395 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 256
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:   40(float)   GroupNonUniformBroadcast 38 98 38
188             100:     96(ptr)   AccessChain 49(data) 95 61 54
189                                Store 100 99
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:    103(ptr)   AccessChain 49(data) 101 61
196             109:   41(fvec4)   Load 108
197             110:   41(fvec4)   VectorShuffle 109 107 4 5 2 3
198                                Store 108 110
199             111:      6(int)   Load 8(invocation)
200             113:    103(ptr)   AccessChain 49(data) 51 61
201             114:   41(fvec4)   Load 113
202             115:  112(fvec3)   VectorShuffle 114 114 0 1 2
203             116:  112(fvec3)   GroupNonUniformBroadcast 38 115 38
204             117:    103(ptr)   AccessChain 49(data) 111 61
205             118:   41(fvec4)   Load 117
206             119:   41(fvec4)   VectorShuffle 118 116 4 5 6 3
207                                Store 117 119
208             120:      6(int)   Load 8(invocation)
209             122:    103(ptr)   AccessChain 49(data) 121 61
210             123:   41(fvec4)   Load 122
211             124:   41(fvec4)   GroupNonUniformBroadcast 38 123 38
212             125:    103(ptr)   AccessChain 49(data) 120 61
213                                Store 125 124
214             126:      6(int)   Load 8(invocation)
215             128:    127(ptr)   AccessChain 49(data) 61 60 54
216             129:     42(int)   Load 128
217             130:     42(int)   GroupNonUniformBroadcast 38 129 72
218             131:    127(ptr)   AccessChain 49(data) 126 60 54
219                                Store 131 130
220             132:      6(int)   Load 8(invocation)
221             135:    134(ptr)   AccessChain 49(data) 60 60
222             136:   43(ivec4)   Load 135
223             137:  133(ivec2)   VectorShuffle 136 136 0 1
224             138:  133(ivec2)   GroupNonUniformBroadcast 38 137 72
225             139:    134(ptr)   AccessChain 49(data) 132 60
226             140:   43(ivec4)   Load 139
227             141:   43(ivec4)   VectorShuffle 140 138 4 5 2 3
228                                Store 139 141
229             142:      6(int)   Load 8(invocation)
230             144:    134(ptr)   AccessChain 49(data) 51 60
231             145:   43(ivec4)   Load 144
232             146:  143(ivec3)   VectorShuffle 145 145 0 1 2
233             147:  143(ivec3)   GroupNonUniformBroadcast 38 146 72
234             148:    134(ptr)   AccessChain 49(data) 142 60
235             149:   43(ivec4)   Load 148
236             150:   43(ivec4)   VectorShuffle 149 147 4 5 6 3
237                                Store 148 150
238             151:      6(int)   Load 8(invocation)
239             152:    134(ptr)   AccessChain 49(data) 121 60
240             153:   43(ivec4)   Load 152
241             154:   43(ivec4)   GroupNonUniformBroadcast 38 153 72
242             155:    134(ptr)   AccessChain 49(data) 151 60
243                                Store 155 154
244             156:      6(int)   Load 8(invocation)
245             157:     55(ptr)   AccessChain 49(data) 61 51 54
246             158:      6(int)   Load 157
247             159:      6(int)   GroupNonUniformBroadcast 38 158 64
248             160:     55(ptr)   AccessChain 49(data) 156 51 54
249                                Store 160 159
250             161:      6(int)   Load 8(invocation)
251             163:     88(ptr)   AccessChain 49(data) 60 51
252             164:   17(ivec4)   Load 163
253             165:  162(ivec2)   VectorShuffle 164 164 0 1
254             166:  162(ivec2)   GroupNonUniformBroadcast 38 165 64
255             167:     88(ptr)   AccessChain 49(data) 161 51
256             168:   17(ivec4)   Load 167
257             169:   17(ivec4)   VectorShuffle 168 166 4 5 2 3
258                                Store 167 169
259             170:      6(int)   Load 8(invocation)
260             172:     88(ptr)   AccessChain 49(data) 51 51
261             173:   17(ivec4)   Load 172
262             174:  171(ivec3)   VectorShuffle 173 173 0 1 2
263             175:  171(ivec3)   GroupNonUniformBroadcast 38 174 64
264             176:     88(ptr)   AccessChain 49(data) 170 51
265             177:   17(ivec4)   Load 176
266             178:   17(ivec4)   VectorShuffle 177 175 4 5 6 3
267                                Store 176 178
268             179:      6(int)   Load 8(invocation)
269             180:     88(ptr)   AccessChain 49(data) 121 51
270             181:   17(ivec4)   Load 180
271             182:   17(ivec4)   GroupNonUniformBroadcast 38 181 64
272             183:     88(ptr)   AccessChain 49(data) 179 51
273                                Store 183 182
274             184:      6(int)   Load 8(invocation)
275             186:    185(ptr)   AccessChain 49(data) 61 121 54
276             187:44(float64_t)   Load 186
277             188:44(float64_t)   GroupNonUniformBroadcast 38 187 54
278             189:    185(ptr)   AccessChain 49(data) 184 121 54
279                                Store 189 188
280             190:      6(int)   Load 8(invocation)
281             193:    192(ptr)   AccessChain 49(data) 60 121
282             194: 45(f64vec4)   Load 193
283             195:191(f64vec2)   VectorShuffle 194 194 0 1
284             196:191(f64vec2)   GroupNonUniformBroadcast 38 195 54
285             197:    192(ptr)   AccessChain 49(data) 190 121
286             198: 45(f64vec4)   Load 197
287             199: 45(f64vec4)   VectorShuffle 198 196 4 5 2 3
288                                Store 197 199
289             200:      6(int)   Load 8(invocation)
290             202:    192(ptr)   AccessChain 49(data) 51 121
291             203: 45(f64vec4)   Load 202
292             204:201(f64vec3)   VectorShuffle 203 203 0 1 2
293             205:201(f64vec3)   GroupNonUniformBroadcast 38 204 54
294             206:    192(ptr)   AccessChain 49(data) 200 121
295             207: 45(f64vec4)   Load 206
296             208: 45(f64vec4)   VectorShuffle 207 205 4 5 6 3
297                                Store 206 208
298             209:      6(int)   Load 8(invocation)
299             210:    192(ptr)   AccessChain 49(data) 121 121
300             211: 45(f64vec4)   Load 210
301             212: 45(f64vec4)   GroupNonUniformBroadcast 38 211 54
302             213:    192(ptr)   AccessChain 49(data) 209 121
303                                Store 213 212
304             214:      6(int)   Load 8(invocation)
305             215:    127(ptr)   AccessChain 49(data) 61 60 54
306             216:     42(int)   Load 215
307             217:    36(bool)   SLessThan 216 61
308             218:    36(bool)   GroupNonUniformBroadcast 38 217 64
309             219:     42(int)   Select 218 60 61
310             220:    127(ptr)   AccessChain 49(data) 214 60 54
311                                Store 220 219
312             221:      6(int)   Load 8(invocation)
313             222:    134(ptr)   AccessChain 49(data) 60 60
314             223:   43(ivec4)   Load 222
315             224:  133(ivec2)   VectorShuffle 223 223 0 1
316             227:  226(bvec2)   SLessThan 224 225
317             228:  226(bvec2)   GroupNonUniformBroadcast 38 227 64
318             230:  133(ivec2)   Select 228 229 225
319             231:    134(ptr)   AccessChain 49(data) 221 60
320             232:   43(ivec4)   Load 231
321             233:   43(ivec4)   VectorShuffle 232 230 4 5 2 3
322                                Store 231 233
323             234:      6(int)   Load 8(invocation)
324             235:    134(ptr)   AccessChain 49(data) 60 60
325             236:   43(ivec4)   Load 235
326             237:  143(ivec3)   VectorShuffle 236 236 0 1 2
327             240:  239(bvec3)   SLessThan 237 238
328             241:  239(bvec3)   GroupNonUniformBroadcast 38 240 64
329             243:  143(ivec3)   Select 241 242 238
330             244:    134(ptr)   AccessChain 49(data) 234 60
331             245:   43(ivec4)   Load 244
332             246:   43(ivec4)   VectorShuffle 245 243 4 5 6 3
333                                Store 244 246
334             247:      6(int)   Load 8(invocation)
335             248:    134(ptr)   AccessChain 49(data) 60 60
336             249:   43(ivec4)   Load 248
337             251:   83(bvec4)   SLessThan 249 250
338             252:   83(bvec4)   GroupNonUniformBroadcast 38 251 64
339             254:   43(ivec4)   Select 252 253 250
340             255:    134(ptr)   AccessChain 49(data) 247 60
341                                Store 255 254
342                                Branch 94
343             256:               Label
344             257:      6(int)   Load 8(invocation)
345             258:     96(ptr)   AccessChain 49(data) 61 61 54
346             259:   40(float)   Load 258
347             260:   40(float)   GroupNonUniformBroadcastFirst 38 259
348             261:     96(ptr)   AccessChain 49(data) 257 61 54
349                                Store 261 260
350             262:      6(int)   Load 8(invocation)
351             263:    103(ptr)   AccessChain 49(data) 60 61
352             264:   41(fvec4)   Load 263
353             265:  102(fvec2)   VectorShuffle 264 264 0 1
354             266:  102(fvec2)   GroupNonUniformBroadcastFirst 38 265
355             267:    103(ptr)   AccessChain 49(data) 262 61
356             268:   41(fvec4)   Load 267
357             269:   41(fvec4)   VectorShuffle 268 266 4 5 2 3
358                                Store 267 269
359             270:      6(int)   Load 8(invocation)
360             271:    103(ptr)   AccessChain 49(data) 51 61
361             272:   41(fvec4)   Load 271
362             273:  112(fvec3)   VectorShuffle 272 272 0 1 2
363             274:  112(fvec3)   GroupNonUniformBroadcastFirst 38 273
364             275:    103(ptr)   AccessChain 49(data) 270 61
365             276:   41(fvec4)   Load 275
366             277:   41(fvec4)   VectorShuffle 276 274 4 5 6 3
367                                Store 275 277
368             278:      6(int)   Load 8(invocation)
369             279:    103(ptr)   AccessChain 49(data) 121 61
370             280:   41(fvec4)   Load 279
371             281:   41(fvec4)   GroupNonUniformBroadcastFirst 38 280
372             282:    103(ptr)   AccessChain 49(data) 278 61
373                                Store 282 281
374             283:      6(int)   Load 8(invocation)
375             284:    127(ptr)   AccessChain 49(data) 61 60 54
376             285:     42(int)   Load 284
377             286:     42(int)   GroupNonUniformBroadcastFirst 38 285
378             287:    127(ptr)   AccessChain 49(data) 283 60 54
379                                Store 287 286
380             288:      6(int)   Load 8(invocation)
381             289:    134(ptr)   AccessChain 49(data) 60 60
382             290:   43(ivec4)   Load 289
383             291:  133(ivec2)   VectorShuffle 290 290 0 1
384             292:  133(ivec2)   GroupNonUniformBroadcastFirst 38 291
385             293:    134(ptr)   AccessChain 49(data) 288 60
386             294:   43(ivec4)   Load 293
387             295:   43(ivec4)   VectorShuffle 294 292 4 5 2 3
388                                Store 293 295
389             296:      6(int)   Load 8(invocation)
390             297:    134(ptr)   AccessChain 49(data) 51 60
391             298:   43(ivec4)   Load 297
392             299:  143(ivec3)   VectorShuffle 298 298 0 1 2
393             300:  143(ivec3)   GroupNonUniformBroadcastFirst 38 299
394             301:    134(ptr)   AccessChain 49(data) 296 60
395             302:   43(ivec4)   Load 301
396             303:   43(ivec4)   VectorShuffle 302 300 4 5 6 3
397                                Store 301 303
398             304:      6(int)   Load 8(invocation)
399             305:    134(ptr)   AccessChain 49(data) 121 60
400             306:   43(ivec4)   Load 305
401             307:   43(ivec4)   GroupNonUniformBroadcastFirst 38 306
402             308:    134(ptr)   AccessChain 49(data) 304 60
403                                Store 308 307
404             309:      6(int)   Load 8(invocation)
405             310:     55(ptr)   AccessChain 49(data) 61 51 54
406             311:      6(int)   Load 310
407             312:      6(int)   GroupNonUniformBroadcastFirst 38 311
408             313:     55(ptr)   AccessChain 49(data) 309 51 54
409                                Store 313 312
410             314:      6(int)   Load 8(invocation)
411             315:     88(ptr)   AccessChain 49(data) 60 51
412             316:   17(ivec4)   Load 315
413             317:  162(ivec2)   VectorShuffle 316 316 0 1
414             318:  162(ivec2)   GroupNonUniformBroadcastFirst 38 317
415             319:     88(ptr)   AccessChain 49(data) 314 51
416             320:   17(ivec4)   Load 319
417             321:   17(ivec4)   VectorShuffle 320 318 4 5 2 3
418                                Store 319 321
419             322:      6(int)   Load 8(invocation)
420             323:     88(ptr)   AccessChain 49(data) 51 51
421             324:   17(ivec4)   Load 323
422             325:  171(ivec3)   VectorShuffle 324 324 0 1 2
423             326:  171(ivec3)   GroupNonUniformBroadcastFirst 38 325
424             327:     88(ptr)   AccessChain 49(data) 322 51
425             328:   17(ivec4)   Load 327
426             329:   17(ivec4)   VectorShuffle 328 326 4 5 6 3
427                                Store 327 329
428             330:      6(int)   Load 8(invocation)
429             331:     88(ptr)   AccessChain 49(data) 121 51
430             332:   17(ivec4)   Load 331
431             333:   17(ivec4)   GroupNonUniformBroadcastFirst 38 332
432             334:     88(ptr)   AccessChain 49(data) 330 51
433                                Store 334 333
434             335:      6(int)   Load 8(invocation)
435             336:    185(ptr)   AccessChain 49(data) 61 121 54
436             337:44(float64_t)   Load 336
437             338:44(float64_t)   GroupNonUniformBroadcastFirst 38 337
438             339:    185(ptr)   AccessChain 49(data) 335 121 54
439                                Store 339 338
440             340:      6(int)   Load 8(invocation)
441             341:    192(ptr)   AccessChain 49(data) 60 121
442             342: 45(f64vec4)   Load 341
443             343:191(f64vec2)   VectorShuffle 342 342 0 1
444             344:191(f64vec2)   GroupNonUniformBroadcastFirst 38 343
445             345:    192(ptr)   AccessChain 49(data) 340 121
446             346: 45(f64vec4)   Load 345
447             347: 45(f64vec4)   VectorShuffle 346 344 4 5 2 3
448                                Store 345 347
449             348:      6(int)   Load 8(invocation)
450             349:    192(ptr)   AccessChain 49(data) 51 121
451             350: 45(f64vec4)   Load 349
452             351:201(f64vec3)   VectorShuffle 350 350 0 1 2
453             352:201(f64vec3)   GroupNonUniformBroadcastFirst 38 351
454             353:    192(ptr)   AccessChain 49(data) 348 121
455             354: 45(f64vec4)   Load 353
456             355: 45(f64vec4)   VectorShuffle 354 352 4 5 6 3
457                                Store 353 355
458             356:      6(int)   Load 8(invocation)
459             357:    192(ptr)   AccessChain 49(data) 121 121
460             358: 45(f64vec4)   Load 357
461             359: 45(f64vec4)   GroupNonUniformBroadcastFirst 38 358
462             360:    192(ptr)   AccessChain 49(data) 356 121
463                                Store 360 359
464             361:      6(int)   Load 8(invocation)
465             362:    127(ptr)   AccessChain 49(data) 61 60 54
466             363:     42(int)   Load 362
467             364:    36(bool)   SLessThan 363 61
468             365:    36(bool)   GroupNonUniformBroadcastFirst 38 364
469             366:     42(int)   Select 365 60 61
470             367:    127(ptr)   AccessChain 49(data) 361 60 54
471                                Store 367 366
472             368:      6(int)   Load 8(invocation)
473             369:    134(ptr)   AccessChain 49(data) 60 60
474             370:   43(ivec4)   Load 369
475             371:  133(ivec2)   VectorShuffle 370 370 0 1
476             372:  226(bvec2)   SLessThan 371 225
477             373:  226(bvec2)   GroupNonUniformBroadcastFirst 38 372
478             374:  133(ivec2)   Select 373 229 225
479             375:    134(ptr)   AccessChain 49(data) 368 60
480             376:   43(ivec4)   Load 375
481             377:   43(ivec4)   VectorShuffle 376 374 4 5 2 3
482                                Store 375 377
483             378:      6(int)   Load 8(invocation)
484             379:    134(ptr)   AccessChain 49(data) 60 60
485             380:   43(ivec4)   Load 379
486             381:  143(ivec3)   VectorShuffle 380 380 0 1 2
487             382:  239(bvec3)   SLessThan 381 238
488             383:  239(bvec3)   GroupNonUniformBroadcastFirst 38 382
489             384:  143(ivec3)   Select 383 242 238
490             385:    134(ptr)   AccessChain 49(data) 378 60
491             386:   43(ivec4)   Load 385
492             387:   43(ivec4)   VectorShuffle 386 384 4 5 6 3
493                                Store 385 387
494             388:      6(int)   Load 8(invocation)
495             389:    134(ptr)   AccessChain 49(data) 60 60
496             390:   43(ivec4)   Load 389
497             391:   83(bvec4)   SLessThan 390 250
498             392:   83(bvec4)   GroupNonUniformBroadcastFirst 38 391
499             393:   43(ivec4)   Select 392 253 250
500             394:    134(ptr)   AccessChain 49(data) 388 60
501                                Store 394 393
502                                Branch 94
503              94:             Label
504                              Return
505                              FunctionEnd
506