1spv.subgroupClustered.comp
2// Module Version 10300
3// Generated by (magic number): 80007
4// Id's are bound by 737
5
6                              Capability Shader
7                              Capability Float64
8                              Capability GroupNonUniform
9                              Capability GroupNonUniformClustered
10               1:             ExtInstImport  "GLSL.std.450"
11                              MemoryModel Logical GLSL450
12                              EntryPoint GLCompute 4  "main" 10 12
13                              ExecutionMode 4 LocalSize 8 1 1
14                              Source GLSL 450
15                              SourceExtension  "GL_KHR_shader_subgroup_basic"
16                              SourceExtension  "GL_KHR_shader_subgroup_clustered"
17                              Name 4  "main"
18                              Name 8  "invocation"
19                              Name 10  "gl_SubgroupInvocationID"
20                              Name 12  "gl_SubgroupSize"
21                              Name 24  "Buffers"
22                              MemberName 24(Buffers) 0  "f4"
23                              MemberName 24(Buffers) 1  "i4"
24                              MemberName 24(Buffers) 2  "u4"
25                              MemberName 24(Buffers) 3  "d4"
26                              Name 27  "data"
27                              Decorate 10(gl_SubgroupInvocationID) RelaxedPrecision
28                              Decorate 10(gl_SubgroupInvocationID) BuiltIn SubgroupLocalInvocationId
29                              Decorate 11 RelaxedPrecision
30                              Decorate 12(gl_SubgroupSize) RelaxedPrecision
31                              Decorate 12(gl_SubgroupSize) BuiltIn SubgroupSize
32                              Decorate 13 RelaxedPrecision
33                              Decorate 14 RelaxedPrecision
34                              Decorate 16 RelaxedPrecision
35                              MemberDecorate 24(Buffers) 0 Offset 0
36                              MemberDecorate 24(Buffers) 1 Offset 16
37                              MemberDecorate 24(Buffers) 2 Offset 32
38                              MemberDecorate 24(Buffers) 3 Offset 64
39                              Decorate 24(Buffers) BufferBlock
40                              Decorate 27(data) DescriptorSet 0
41                              Decorate 27(data) Binding 0
42                              Decorate 736 BuiltIn WorkgroupSize
43               2:             TypeVoid
44               3:             TypeFunction 2
45               6:             TypeInt 32 0
46               7:             TypePointer Function 6(int)
47               9:             TypePointer Input 6(int)
4810(gl_SubgroupInvocationID):      9(ptr) Variable Input
4912(gl_SubgroupSize):      9(ptr) Variable Input
50              15:      6(int) Constant 4
51              17:             TypeFloat 32
52              18:             TypeVector 17(float) 4
53              19:             TypeInt 32 1
54              20:             TypeVector 19(int) 4
55              21:             TypeVector 6(int) 4
56              22:             TypeFloat 64
57              23:             TypeVector 22(float64_t) 4
58     24(Buffers):             TypeStruct 18(fvec4) 20(ivec4) 21(ivec4) 23(f64vec4)
59              25:             TypeArray 24(Buffers) 15
60              26:             TypePointer Uniform 25
61        27(data):     26(ptr) Variable Uniform
62              29:     19(int) Constant 0
63              30:      6(int) Constant 0
64              31:             TypePointer Uniform 17(float)
65              34:      6(int) Constant 1
66              35:      6(int) Constant 3
67              39:     19(int) Constant 1
68              40:             TypeVector 17(float) 2
69              41:             TypePointer Uniform 18(fvec4)
70              50:     19(int) Constant 2
71              51:             TypeVector 17(float) 3
72              60:     19(int) Constant 3
73              66:             TypePointer Uniform 19(int)
74              72:             TypeVector 19(int) 2
75              73:             TypePointer Uniform 20(ivec4)
76              82:             TypeVector 19(int) 3
77              96:             TypePointer Uniform 6(int)
78             102:             TypeVector 6(int) 2
79             103:             TypePointer Uniform 21(ivec4)
80             112:             TypeVector 6(int) 3
81             126:             TypePointer Uniform 22(float64_t)
82             132:             TypeVector 22(float64_t) 2
83             133:             TypePointer Uniform 23(f64vec4)
84             142:             TypeVector 22(float64_t) 3
85             522:             TypeBool
86             531:   72(ivec2) ConstantComposite 29 29
87             532:             TypeVector 522(bool) 2
88             535:   72(ivec2) ConstantComposite 39 39
89             544:   82(ivec3) ConstantComposite 29 29 29
90             545:             TypeVector 522(bool) 3
91             548:   82(ivec3) ConstantComposite 39 39 39
92             556:   20(ivec4) ConstantComposite 29 29 29 29
93             557:             TypeVector 522(bool) 4
94             560:   20(ivec4) ConstantComposite 39 39 39 39
95             735:      6(int) Constant 8
96             736:  112(ivec3) ConstantComposite 735 34 34
97         4(main):           2 Function None 3
98               5:             Label
99   8(invocation):      7(ptr) Variable Function
100              11:      6(int) Load 10(gl_SubgroupInvocationID)
101              13:      6(int) Load 12(gl_SubgroupSize)
102              14:      6(int) IAdd 11 13
103              16:      6(int) UMod 14 15
104                              Store 8(invocation) 16
105              28:      6(int) Load 8(invocation)
106              32:     31(ptr) AccessChain 27(data) 29 29 30
107              33:   17(float) Load 32
108              36:   17(float) GroupNonUniformFAdd 35 ClusteredReduce 33 34
109              37:     31(ptr) AccessChain 27(data) 28 29 30
110                              Store 37 36
111              38:      6(int) Load 8(invocation)
112              42:     41(ptr) AccessChain 27(data) 39 29
113              43:   18(fvec4) Load 42
114              44:   40(fvec2) VectorShuffle 43 43 0 1
115              45:   40(fvec2) GroupNonUniformFAdd 35 ClusteredReduce 44 34
116              46:     41(ptr) AccessChain 27(data) 38 29
117              47:   18(fvec4) Load 46
118              48:   18(fvec4) VectorShuffle 47 45 4 5 2 3
119                              Store 46 48
120              49:      6(int) Load 8(invocation)
121              52:     41(ptr) AccessChain 27(data) 50 29
122              53:   18(fvec4) Load 52
123              54:   51(fvec3) VectorShuffle 53 53 0 1 2
124              55:   51(fvec3) GroupNonUniformFAdd 35 ClusteredReduce 54 34
125              56:     41(ptr) AccessChain 27(data) 49 29
126              57:   18(fvec4) Load 56
127              58:   18(fvec4) VectorShuffle 57 55 4 5 6 3
128                              Store 56 58
129              59:      6(int) Load 8(invocation)
130              61:     41(ptr) AccessChain 27(data) 60 29
131              62:   18(fvec4) Load 61
132              63:   18(fvec4) GroupNonUniformFAdd 35 ClusteredReduce 62 34
133              64:     41(ptr) AccessChain 27(data) 59 29
134                              Store 64 63
135              65:      6(int) Load 8(invocation)
136              67:     66(ptr) AccessChain 27(data) 29 39 30
137              68:     19(int) Load 67
138              69:     19(int) GroupNonUniformIAdd 35 ClusteredReduce 68 34
139              70:     66(ptr) AccessChain 27(data) 65 39 30
140                              Store 70 69
141              71:      6(int) Load 8(invocation)
142              74:     73(ptr) AccessChain 27(data) 39 39
143              75:   20(ivec4) Load 74
144              76:   72(ivec2) VectorShuffle 75 75 0 1
145              77:   72(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 76 34
146              78:     73(ptr) AccessChain 27(data) 71 39
147              79:   20(ivec4) Load 78
148              80:   20(ivec4) VectorShuffle 79 77 4 5 2 3
149                              Store 78 80
150              81:      6(int) Load 8(invocation)
151              83:     73(ptr) AccessChain 27(data) 50 39
152              84:   20(ivec4) Load 83
153              85:   82(ivec3) VectorShuffle 84 84 0 1 2
154              86:   82(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 85 34
155              87:     73(ptr) AccessChain 27(data) 81 39
156              88:   20(ivec4) Load 87
157              89:   20(ivec4) VectorShuffle 88 86 4 5 6 3
158                              Store 87 89
159              90:      6(int) Load 8(invocation)
160              91:     73(ptr) AccessChain 27(data) 60 39
161              92:   20(ivec4) Load 91
162              93:   20(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 92 34
163              94:     73(ptr) AccessChain 27(data) 90 39
164                              Store 94 93
165              95:      6(int) Load 8(invocation)
166              97:     96(ptr) AccessChain 27(data) 29 50 30
167              98:      6(int) Load 97
168              99:      6(int) GroupNonUniformIAdd 35 ClusteredReduce 98 34
169             100:     96(ptr) AccessChain 27(data) 95 50 30
170                              Store 100 99
171             101:      6(int) Load 8(invocation)
172             104:    103(ptr) AccessChain 27(data) 39 50
173             105:   21(ivec4) Load 104
174             106:  102(ivec2) VectorShuffle 105 105 0 1
175             107:  102(ivec2) GroupNonUniformIAdd 35 ClusteredReduce 106 34
176             108:    103(ptr) AccessChain 27(data) 101 50
177             109:   21(ivec4) Load 108
178             110:   21(ivec4) VectorShuffle 109 107 4 5 2 3
179                              Store 108 110
180             111:      6(int) Load 8(invocation)
181             113:    103(ptr) AccessChain 27(data) 50 50
182             114:   21(ivec4) Load 113
183             115:  112(ivec3) VectorShuffle 114 114 0 1 2
184             116:  112(ivec3) GroupNonUniformIAdd 35 ClusteredReduce 115 34
185             117:    103(ptr) AccessChain 27(data) 111 50
186             118:   21(ivec4) Load 117
187             119:   21(ivec4) VectorShuffle 118 116 4 5 6 3
188                              Store 117 119
189             120:      6(int) Load 8(invocation)
190             121:    103(ptr) AccessChain 27(data) 60 50
191             122:   21(ivec4) Load 121
192             123:   21(ivec4) GroupNonUniformIAdd 35 ClusteredReduce 122 34
193             124:    103(ptr) AccessChain 27(data) 120 50
194                              Store 124 123
195             125:      6(int) Load 8(invocation)
196             127:    126(ptr) AccessChain 27(data) 29 60 30
197             128:22(float64_t) Load 127
198             129:22(float64_t) GroupNonUniformFAdd 35 ClusteredReduce 128 34
199             130:    126(ptr) AccessChain 27(data) 125 60 30
200                              Store 130 129
201             131:      6(int) Load 8(invocation)
202             134:    133(ptr) AccessChain 27(data) 39 60
203             135: 23(f64vec4) Load 134
204             136:132(f64vec2) VectorShuffle 135 135 0 1
205             137:132(f64vec2) GroupNonUniformFAdd 35 ClusteredReduce 136 34
206             138:    133(ptr) AccessChain 27(data) 131 60
207             139: 23(f64vec4) Load 138
208             140: 23(f64vec4) VectorShuffle 139 137 4 5 2 3
209                              Store 138 140
210             141:      6(int) Load 8(invocation)
211             143:    133(ptr) AccessChain 27(data) 50 60
212             144: 23(f64vec4) Load 143
213             145:142(f64vec3) VectorShuffle 144 144 0 1 2
214             146:142(f64vec3) GroupNonUniformFAdd 35 ClusteredReduce 145 34
215             147:    133(ptr) AccessChain 27(data) 141 60
216             148: 23(f64vec4) Load 147
217             149: 23(f64vec4) VectorShuffle 148 146 4 5 6 3
218                              Store 147 149
219             150:      6(int) Load 8(invocation)
220             151:    133(ptr) AccessChain 27(data) 60 60
221             152: 23(f64vec4) Load 151
222             153: 23(f64vec4) GroupNonUniformFAdd 35 ClusteredReduce 152 34
223             154:    133(ptr) AccessChain 27(data) 150 60
224                              Store 154 153
225             155:      6(int) Load 8(invocation)
226             156:     31(ptr) AccessChain 27(data) 29 29 30
227             157:   17(float) Load 156
228             158:   17(float) GroupNonUniformFMul 35 ClusteredReduce 157 34
229             159:     31(ptr) AccessChain 27(data) 155 29 30
230                              Store 159 158
231             160:      6(int) Load 8(invocation)
232             161:     41(ptr) AccessChain 27(data) 39 29
233             162:   18(fvec4) Load 161
234             163:   40(fvec2) VectorShuffle 162 162 0 1
235             164:   40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 163 34
236             165:     41(ptr) AccessChain 27(data) 160 29
237             166:   18(fvec4) Load 165
238             167:   18(fvec4) VectorShuffle 166 164 4 5 2 3
239                              Store 165 167
240             168:      6(int) Load 8(invocation)
241             169:     41(ptr) AccessChain 27(data) 50 29
242             170:   18(fvec4) Load 169
243             171:   51(fvec3) VectorShuffle 170 170 0 1 2
244             172:   51(fvec3) GroupNonUniformFMul 35 ClusteredReduce 171 34
245             173:     41(ptr) AccessChain 27(data) 168 29
246             174:   18(fvec4) Load 173
247             175:   18(fvec4) VectorShuffle 174 172 4 5 6 3
248                              Store 173 175
249             176:      6(int) Load 8(invocation)
250             177:     41(ptr) AccessChain 27(data) 60 29
251             178:   18(fvec4) Load 177
252             179:   18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 178 34
253             180:     41(ptr) AccessChain 27(data) 176 29
254                              Store 180 179
255             181:      6(int) Load 8(invocation)
256             182:     66(ptr) AccessChain 27(data) 29 39 30
257             183:     19(int) Load 182
258             184:     19(int) GroupNonUniformIMul 35 ClusteredReduce 183 34
259             185:     66(ptr) AccessChain 27(data) 181 39 30
260                              Store 185 184
261             186:      6(int) Load 8(invocation)
262             187:     73(ptr) AccessChain 27(data) 39 39
263             188:   20(ivec4) Load 187
264             189:   72(ivec2) VectorShuffle 188 188 0 1
265             190:   72(ivec2) GroupNonUniformIMul 35 ClusteredReduce 189 34
266             191:     73(ptr) AccessChain 27(data) 186 39
267             192:   20(ivec4) Load 191
268             193:   20(ivec4) VectorShuffle 192 190 4 5 2 3
269                              Store 191 193
270             194:      6(int) Load 8(invocation)
271             195:     73(ptr) AccessChain 27(data) 50 39
272             196:   20(ivec4) Load 195
273             197:   82(ivec3) VectorShuffle 196 196 0 1 2
274             198:   82(ivec3) GroupNonUniformIMul 35 ClusteredReduce 197 34
275             199:     73(ptr) AccessChain 27(data) 194 39
276             200:   20(ivec4) Load 199
277             201:   20(ivec4) VectorShuffle 200 198 4 5 6 3
278                              Store 199 201
279             202:      6(int) Load 8(invocation)
280             203:     73(ptr) AccessChain 27(data) 60 39
281             204:   20(ivec4) Load 203
282             205:   20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 204 34
283             206:     73(ptr) AccessChain 27(data) 202 39
284                              Store 206 205
285             207:      6(int) Load 8(invocation)
286             208:     96(ptr) AccessChain 27(data) 29 50 30
287             209:      6(int) Load 208
288             210:      6(int) GroupNonUniformIMul 35 ClusteredReduce 209 34
289             211:     96(ptr) AccessChain 27(data) 207 50 30
290                              Store 211 210
291             212:      6(int) Load 8(invocation)
292             213:    103(ptr) AccessChain 27(data) 39 50
293             214:   21(ivec4) Load 213
294             215:  102(ivec2) VectorShuffle 214 214 0 1
295             216:  102(ivec2) GroupNonUniformIMul 35 ClusteredReduce 215 34
296             217:    103(ptr) AccessChain 27(data) 212 50
297             218:   21(ivec4) Load 217
298             219:   21(ivec4) VectorShuffle 218 216 4 5 2 3
299                              Store 217 219
300             220:      6(int) Load 8(invocation)
301             221:    103(ptr) AccessChain 27(data) 50 50
302             222:   21(ivec4) Load 221
303             223:  112(ivec3) VectorShuffle 222 222 0 1 2
304             224:  112(ivec3) GroupNonUniformIMul 35 ClusteredReduce 223 34
305             225:    103(ptr) AccessChain 27(data) 220 50
306             226:   21(ivec4) Load 225
307             227:   21(ivec4) VectorShuffle 226 224 4 5 6 3
308                              Store 225 227
309             228:      6(int) Load 8(invocation)
310             229:    103(ptr) AccessChain 27(data) 60 50
311             230:   21(ivec4) Load 229
312             231:   21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 230 34
313             232:    103(ptr) AccessChain 27(data) 228 50
314                              Store 232 231
315             233:      6(int) Load 8(invocation)
316             234:    126(ptr) AccessChain 27(data) 29 60 30
317             235:22(float64_t) Load 234
318             236:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 235 34
319             237:    126(ptr) AccessChain 27(data) 233 60 30
320                              Store 237 236
321             238:      6(int) Load 8(invocation)
322             239:    133(ptr) AccessChain 27(data) 39 60
323             240: 23(f64vec4) Load 239
324             241:132(f64vec2) VectorShuffle 240 240 0 1
325             242:132(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 241 34
326             243:    133(ptr) AccessChain 27(data) 238 60
327             244: 23(f64vec4) Load 243
328             245: 23(f64vec4) VectorShuffle 244 242 4 5 2 3
329                              Store 243 245
330             246:      6(int) Load 8(invocation)
331             247:    133(ptr) AccessChain 27(data) 50 60
332             248: 23(f64vec4) Load 247
333             249:142(f64vec3) VectorShuffle 248 248 0 1 2
334             250:142(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 249 34
335             251:    133(ptr) AccessChain 27(data) 246 60
336             252: 23(f64vec4) Load 251
337             253: 23(f64vec4) VectorShuffle 252 250 4 5 6 3
338                              Store 251 253
339             254:      6(int) Load 8(invocation)
340             255:    133(ptr) AccessChain 27(data) 60 60
341             256: 23(f64vec4) Load 255
342             257: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 256 34
343             258:    133(ptr) AccessChain 27(data) 254 60
344                              Store 258 257
345             259:      6(int) Load 8(invocation)
346             260:     31(ptr) AccessChain 27(data) 29 29 30
347             261:   17(float) Load 260
348             262:   17(float) GroupNonUniformFMin 35 ClusteredReduce 261 34
349             263:     31(ptr) AccessChain 27(data) 259 29 30
350                              Store 263 262
351             264:      6(int) Load 8(invocation)
352             265:     41(ptr) AccessChain 27(data) 39 29
353             266:   18(fvec4) Load 265
354             267:   40(fvec2) VectorShuffle 266 266 0 1
355             268:   40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 267 34
356             269:     41(ptr) AccessChain 27(data) 264 29
357             270:   18(fvec4) Load 269
358             271:   18(fvec4) VectorShuffle 270 268 4 5 2 3
359                              Store 269 271
360             272:      6(int) Load 8(invocation)
361             273:     41(ptr) AccessChain 27(data) 50 29
362             274:   18(fvec4) Load 273
363             275:   51(fvec3) VectorShuffle 274 274 0 1 2
364             276:   51(fvec3) GroupNonUniformFMin 35 ClusteredReduce 275 34
365             277:     41(ptr) AccessChain 27(data) 272 29
366             278:   18(fvec4) Load 277
367             279:   18(fvec4) VectorShuffle 278 276 4 5 6 3
368                              Store 277 279
369             280:      6(int) Load 8(invocation)
370             281:     41(ptr) AccessChain 27(data) 60 29
371             282:   18(fvec4) Load 281
372             283:   18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 282 34
373             284:     41(ptr) AccessChain 27(data) 280 29
374                              Store 284 283
375             285:      6(int) Load 8(invocation)
376             286:     66(ptr) AccessChain 27(data) 29 39 30
377             287:     19(int) Load 286
378             288:     19(int) GroupNonUniformSMin 35 ClusteredReduce 287 34
379             289:     66(ptr) AccessChain 27(data) 285 39 30
380                              Store 289 288
381             290:      6(int) Load 8(invocation)
382             291:     73(ptr) AccessChain 27(data) 39 39
383             292:   20(ivec4) Load 291
384             293:   72(ivec2) VectorShuffle 292 292 0 1
385             294:   72(ivec2) GroupNonUniformSMin 35 ClusteredReduce 293 34
386             295:     73(ptr) AccessChain 27(data) 290 39
387             296:   20(ivec4) Load 295
388             297:   20(ivec4) VectorShuffle 296 294 4 5 2 3
389                              Store 295 297
390             298:      6(int) Load 8(invocation)
391             299:     73(ptr) AccessChain 27(data) 50 39
392             300:   20(ivec4) Load 299
393             301:   82(ivec3) VectorShuffle 300 300 0 1 2
394             302:   82(ivec3) GroupNonUniformSMin 35 ClusteredReduce 301 34
395             303:     73(ptr) AccessChain 27(data) 298 39
396             304:   20(ivec4) Load 303
397             305:   20(ivec4) VectorShuffle 304 302 4 5 6 3
398                              Store 303 305
399             306:      6(int) Load 8(invocation)
400             307:     73(ptr) AccessChain 27(data) 60 39
401             308:   20(ivec4) Load 307
402             309:   20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 308 34
403             310:     73(ptr) AccessChain 27(data) 306 39
404                              Store 310 309
405             311:      6(int) Load 8(invocation)
406             312:     96(ptr) AccessChain 27(data) 29 50 30
407             313:      6(int) Load 312
408             314:      6(int) GroupNonUniformUMin 35 ClusteredReduce 313 34
409             315:     96(ptr) AccessChain 27(data) 311 50 30
410                              Store 315 314
411             316:      6(int) Load 8(invocation)
412             317:    103(ptr) AccessChain 27(data) 39 50
413             318:   21(ivec4) Load 317
414             319:  102(ivec2) VectorShuffle 318 318 0 1
415             320:  102(ivec2) GroupNonUniformUMin 35 ClusteredReduce 319 34
416             321:    103(ptr) AccessChain 27(data) 316 50
417             322:   21(ivec4) Load 321
418             323:   21(ivec4) VectorShuffle 322 320 4 5 2 3
419                              Store 321 323
420             324:      6(int) Load 8(invocation)
421             325:    103(ptr) AccessChain 27(data) 50 50
422             326:   21(ivec4) Load 325
423             327:  112(ivec3) VectorShuffle 326 326 0 1 2
424             328:  112(ivec3) GroupNonUniformUMin 35 ClusteredReduce 327 34
425             329:    103(ptr) AccessChain 27(data) 324 50
426             330:   21(ivec4) Load 329
427             331:   21(ivec4) VectorShuffle 330 328 4 5 6 3
428                              Store 329 331
429             332:      6(int) Load 8(invocation)
430             333:    103(ptr) AccessChain 27(data) 60 50
431             334:   21(ivec4) Load 333
432             335:   21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 334 34
433             336:    103(ptr) AccessChain 27(data) 332 50
434                              Store 336 335
435             337:      6(int) Load 8(invocation)
436             338:    126(ptr) AccessChain 27(data) 29 60 30
437             339:22(float64_t) Load 338
438             340:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 339 34
439             341:    126(ptr) AccessChain 27(data) 337 60 30
440                              Store 341 340
441             342:      6(int) Load 8(invocation)
442             343:    133(ptr) AccessChain 27(data) 39 60
443             344: 23(f64vec4) Load 343
444             345:132(f64vec2) VectorShuffle 344 344 0 1
445             346:132(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 345 34
446             347:    133(ptr) AccessChain 27(data) 342 60
447             348: 23(f64vec4) Load 347
448             349: 23(f64vec4) VectorShuffle 348 346 4 5 2 3
449                              Store 347 349
450             350:      6(int) Load 8(invocation)
451             351:    133(ptr) AccessChain 27(data) 50 60
452             352: 23(f64vec4) Load 351
453             353:142(f64vec3) VectorShuffle 352 352 0 1 2
454             354:142(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 353 34
455             355:    133(ptr) AccessChain 27(data) 350 60
456             356: 23(f64vec4) Load 355
457             357: 23(f64vec4) VectorShuffle 356 354 4 5 6 3
458                              Store 355 357
459             358:      6(int) Load 8(invocation)
460             359:    133(ptr) AccessChain 27(data) 60 60
461             360: 23(f64vec4) Load 359
462             361: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 360 34
463             362:    133(ptr) AccessChain 27(data) 358 60
464                              Store 362 361
465             363:      6(int) Load 8(invocation)
466             364:     31(ptr) AccessChain 27(data) 29 29 30
467             365:   17(float) Load 364
468             366:   17(float) GroupNonUniformFMax 35 ClusteredReduce 365 34
469             367:     31(ptr) AccessChain 27(data) 363 29 30
470                              Store 367 366
471             368:      6(int) Load 8(invocation)
472             369:     41(ptr) AccessChain 27(data) 39 29
473             370:   18(fvec4) Load 369
474             371:   40(fvec2) VectorShuffle 370 370 0 1
475             372:   40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 371 34
476             373:     41(ptr) AccessChain 27(data) 368 29
477             374:   18(fvec4) Load 373
478             375:   18(fvec4) VectorShuffle 374 372 4 5 2 3
479                              Store 373 375
480             376:      6(int) Load 8(invocation)
481             377:     41(ptr) AccessChain 27(data) 50 29
482             378:   18(fvec4) Load 377
483             379:   51(fvec3) VectorShuffle 378 378 0 1 2
484             380:   51(fvec3) GroupNonUniformFMax 35 ClusteredReduce 379 34
485             381:     41(ptr) AccessChain 27(data) 376 29
486             382:   18(fvec4) Load 381
487             383:   18(fvec4) VectorShuffle 382 380 4 5 6 3
488                              Store 381 383
489             384:      6(int) Load 8(invocation)
490             385:     41(ptr) AccessChain 27(data) 60 29
491             386:   18(fvec4) Load 385
492             387:   18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 386 34
493             388:     41(ptr) AccessChain 27(data) 384 29
494                              Store 388 387
495             389:      6(int) Load 8(invocation)
496             390:     66(ptr) AccessChain 27(data) 29 39 30
497             391:     19(int) Load 390
498             392:     19(int) GroupNonUniformSMax 35 ClusteredReduce 391 34
499             393:     66(ptr) AccessChain 27(data) 389 39 30
500                              Store 393 392
501             394:      6(int) Load 8(invocation)
502             395:     73(ptr) AccessChain 27(data) 39 39
503             396:   20(ivec4) Load 395
504             397:   72(ivec2) VectorShuffle 396 396 0 1
505             398:   72(ivec2) GroupNonUniformSMax 35 ClusteredReduce 397 34
506             399:     73(ptr) AccessChain 27(data) 394 39
507             400:   20(ivec4) Load 399
508             401:   20(ivec4) VectorShuffle 400 398 4 5 2 3
509                              Store 399 401
510             402:      6(int) Load 8(invocation)
511             403:     73(ptr) AccessChain 27(data) 50 39
512             404:   20(ivec4) Load 403
513             405:   82(ivec3) VectorShuffle 404 404 0 1 2
514             406:   82(ivec3) GroupNonUniformSMax 35 ClusteredReduce 405 34
515             407:     73(ptr) AccessChain 27(data) 402 39
516             408:   20(ivec4) Load 407
517             409:   20(ivec4) VectorShuffle 408 406 4 5 6 3
518                              Store 407 409
519             410:      6(int) Load 8(invocation)
520             411:     73(ptr) AccessChain 27(data) 60 39
521             412:   20(ivec4) Load 411
522             413:   20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 412 34
523             414:     73(ptr) AccessChain 27(data) 410 39
524                              Store 414 413
525             415:      6(int) Load 8(invocation)
526             416:     96(ptr) AccessChain 27(data) 29 50 30
527             417:      6(int) Load 416
528             418:      6(int) GroupNonUniformUMax 35 ClusteredReduce 417 34
529             419:     96(ptr) AccessChain 27(data) 415 50 30
530                              Store 419 418
531             420:      6(int) Load 8(invocation)
532             421:    103(ptr) AccessChain 27(data) 39 50
533             422:   21(ivec4) Load 421
534             423:  102(ivec2) VectorShuffle 422 422 0 1
535             424:  102(ivec2) GroupNonUniformUMax 35 ClusteredReduce 423 34
536             425:    103(ptr) AccessChain 27(data) 420 50
537             426:   21(ivec4) Load 425
538             427:   21(ivec4) VectorShuffle 426 424 4 5 2 3
539                              Store 425 427
540             428:      6(int) Load 8(invocation)
541             429:    103(ptr) AccessChain 27(data) 50 50
542             430:   21(ivec4) Load 429
543             431:  112(ivec3) VectorShuffle 430 430 0 1 2
544             432:  112(ivec3) GroupNonUniformUMax 35 ClusteredReduce 431 34
545             433:    103(ptr) AccessChain 27(data) 428 50
546             434:   21(ivec4) Load 433
547             435:   21(ivec4) VectorShuffle 434 432 4 5 6 3
548                              Store 433 435
549             436:      6(int) Load 8(invocation)
550             437:    103(ptr) AccessChain 27(data) 60 50
551             438:   21(ivec4) Load 437
552             439:   21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 438 34
553             440:    103(ptr) AccessChain 27(data) 436 50
554                              Store 440 439
555             441:      6(int) Load 8(invocation)
556             442:    126(ptr) AccessChain 27(data) 29 60 30
557             443:22(float64_t) Load 442
558             444:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 443 34
559             445:    126(ptr) AccessChain 27(data) 441 60 30
560                              Store 445 444
561             446:      6(int) Load 8(invocation)
562             447:    133(ptr) AccessChain 27(data) 39 60
563             448: 23(f64vec4) Load 447
564             449:132(f64vec2) VectorShuffle 448 448 0 1
565             450:132(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 449 34
566             451:    133(ptr) AccessChain 27(data) 446 60
567             452: 23(f64vec4) Load 451
568             453: 23(f64vec4) VectorShuffle 452 450 4 5 2 3
569                              Store 451 453
570             454:      6(int) Load 8(invocation)
571             455:    133(ptr) AccessChain 27(data) 50 60
572             456: 23(f64vec4) Load 455
573             457:142(f64vec3) VectorShuffle 456 456 0 1 2
574             458:142(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 457 34
575             459:    133(ptr) AccessChain 27(data) 454 60
576             460: 23(f64vec4) Load 459
577             461: 23(f64vec4) VectorShuffle 460 458 4 5 6 3
578                              Store 459 461
579             462:      6(int) Load 8(invocation)
580             463:    133(ptr) AccessChain 27(data) 60 60
581             464: 23(f64vec4) Load 463
582             465: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 464 34
583             466:    133(ptr) AccessChain 27(data) 462 60
584                              Store 466 465
585             467:      6(int) Load 8(invocation)
586             468:     66(ptr) AccessChain 27(data) 29 39 30
587             469:     19(int) Load 468
588             470:     19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 469 34
589             471:     66(ptr) AccessChain 27(data) 467 39 30
590                              Store 471 470
591             472:      6(int) Load 8(invocation)
592             473:     73(ptr) AccessChain 27(data) 39 39
593             474:   20(ivec4) Load 473
594             475:   72(ivec2) VectorShuffle 474 474 0 1
595             476:   72(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 475 34
596             477:     73(ptr) AccessChain 27(data) 472 39
597             478:   20(ivec4) Load 477
598             479:   20(ivec4) VectorShuffle 478 476 4 5 2 3
599                              Store 477 479
600             480:      6(int) Load 8(invocation)
601             481:     73(ptr) AccessChain 27(data) 50 39
602             482:   20(ivec4) Load 481
603             483:   82(ivec3) VectorShuffle 482 482 0 1 2
604             484:   82(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 483 34
605             485:     73(ptr) AccessChain 27(data) 480 39
606             486:   20(ivec4) Load 485
607             487:   20(ivec4) VectorShuffle 486 484 4 5 6 3
608                              Store 485 487
609             488:      6(int) Load 8(invocation)
610             489:     73(ptr) AccessChain 27(data) 60 39
611             490:   20(ivec4) Load 489
612             491:   20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 490 34
613             492:     73(ptr) AccessChain 27(data) 488 39
614                              Store 492 491
615             493:      6(int) Load 8(invocation)
616             494:     96(ptr) AccessChain 27(data) 29 50 30
617             495:      6(int) Load 494
618             496:      6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 495 34
619             497:     96(ptr) AccessChain 27(data) 493 50 30
620                              Store 497 496
621             498:      6(int) Load 8(invocation)
622             499:    103(ptr) AccessChain 27(data) 39 50
623             500:   21(ivec4) Load 499
624             501:  102(ivec2) VectorShuffle 500 500 0 1
625             502:  102(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 501 34
626             503:    103(ptr) AccessChain 27(data) 498 50
627             504:   21(ivec4) Load 503
628             505:   21(ivec4) VectorShuffle 504 502 4 5 2 3
629                              Store 503 505
630             506:      6(int) Load 8(invocation)
631             507:    103(ptr) AccessChain 27(data) 50 50
632             508:   21(ivec4) Load 507
633             509:  112(ivec3) VectorShuffle 508 508 0 1 2
634             510:  112(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 509 34
635             511:    103(ptr) AccessChain 27(data) 506 50
636             512:   21(ivec4) Load 511
637             513:   21(ivec4) VectorShuffle 512 510 4 5 6 3
638                              Store 511 513
639             514:      6(int) Load 8(invocation)
640             515:    103(ptr) AccessChain 27(data) 60 50
641             516:   21(ivec4) Load 515
642             517:   21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 516 34
643             518:    103(ptr) AccessChain 27(data) 514 50
644                              Store 518 517
645             519:      6(int) Load 8(invocation)
646             520:     66(ptr) AccessChain 27(data) 29 39 30
647             521:     19(int) Load 520
648             523:   522(bool) SLessThan 521 29
649             524:   522(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 523 34
650             525:     19(int) Select 524 39 29
651             526:     66(ptr) AccessChain 27(data) 519 39 30
652                              Store 526 525
653             527:      6(int) Load 8(invocation)
654             528:     73(ptr) AccessChain 27(data) 39 39
655             529:   20(ivec4) Load 528
656             530:   72(ivec2) VectorShuffle 529 529 0 1
657             533:  532(bvec2) SLessThan 530 531
658             534:  532(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 533 34
659             536:   72(ivec2) Select 534 535 531
660             537:     73(ptr) AccessChain 27(data) 527 39
661             538:   20(ivec4) Load 537
662             539:   20(ivec4) VectorShuffle 538 536 4 5 2 3
663                              Store 537 539
664             540:      6(int) Load 8(invocation)
665             541:     73(ptr) AccessChain 27(data) 39 39
666             542:   20(ivec4) Load 541
667             543:   82(ivec3) VectorShuffle 542 542 0 1 2
668             546:  545(bvec3) SLessThan 543 544
669             547:  545(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 546 34
670             549:   82(ivec3) Select 547 548 544
671             550:     73(ptr) AccessChain 27(data) 540 39
672             551:   20(ivec4) Load 550
673             552:   20(ivec4) VectorShuffle 551 549 4 5 6 3
674                              Store 550 552
675             553:      6(int) Load 8(invocation)
676             554:     73(ptr) AccessChain 27(data) 39 39
677             555:   20(ivec4) Load 554
678             558:  557(bvec4) SLessThan 555 556
679             559:  557(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 558 34
680             561:   20(ivec4) Select 559 560 556
681             562:     73(ptr) AccessChain 27(data) 553 39
682                              Store 562 561
683             563:      6(int) Load 8(invocation)
684             564:     66(ptr) AccessChain 27(data) 29 39 30
685             565:     19(int) Load 564
686             566:     19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 565 34
687             567:     66(ptr) AccessChain 27(data) 563 39 30
688                              Store 567 566
689             568:      6(int) Load 8(invocation)
690             569:     73(ptr) AccessChain 27(data) 39 39
691             570:   20(ivec4) Load 569
692             571:   72(ivec2) VectorShuffle 570 570 0 1
693             572:   72(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 571 34
694             573:     73(ptr) AccessChain 27(data) 568 39
695             574:   20(ivec4) Load 573
696             575:   20(ivec4) VectorShuffle 574 572 4 5 2 3
697                              Store 573 575
698             576:      6(int) Load 8(invocation)
699             577:     73(ptr) AccessChain 27(data) 50 39
700             578:   20(ivec4) Load 577
701             579:   82(ivec3) VectorShuffle 578 578 0 1 2
702             580:   82(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 579 34
703             581:     73(ptr) AccessChain 27(data) 576 39
704             582:   20(ivec4) Load 581
705             583:   20(ivec4) VectorShuffle 582 580 4 5 6 3
706                              Store 581 583
707             584:      6(int) Load 8(invocation)
708             585:     73(ptr) AccessChain 27(data) 60 39
709             586:   20(ivec4) Load 585
710             587:   20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 586 34
711             588:     73(ptr) AccessChain 27(data) 584 39
712                              Store 588 587
713             589:      6(int) Load 8(invocation)
714             590:     96(ptr) AccessChain 27(data) 29 50 30
715             591:      6(int) Load 590
716             592:      6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 591 34
717             593:     96(ptr) AccessChain 27(data) 589 50 30
718                              Store 593 592
719             594:      6(int) Load 8(invocation)
720             595:    103(ptr) AccessChain 27(data) 39 50
721             596:   21(ivec4) Load 595
722             597:  102(ivec2) VectorShuffle 596 596 0 1
723             598:  102(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 597 34
724             599:    103(ptr) AccessChain 27(data) 594 50
725             600:   21(ivec4) Load 599
726             601:   21(ivec4) VectorShuffle 600 598 4 5 2 3
727                              Store 599 601
728             602:      6(int) Load 8(invocation)
729             603:    103(ptr) AccessChain 27(data) 50 50
730             604:   21(ivec4) Load 603
731             605:  112(ivec3) VectorShuffle 604 604 0 1 2
732             606:  112(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 605 34
733             607:    103(ptr) AccessChain 27(data) 602 50
734             608:   21(ivec4) Load 607
735             609:   21(ivec4) VectorShuffle 608 606 4 5 6 3
736                              Store 607 609
737             610:      6(int) Load 8(invocation)
738             611:    103(ptr) AccessChain 27(data) 60 50
739             612:   21(ivec4) Load 611
740             613:   21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 612 34
741             614:    103(ptr) AccessChain 27(data) 610 50
742                              Store 614 613
743             615:      6(int) Load 8(invocation)
744             616:     66(ptr) AccessChain 27(data) 29 39 30
745             617:     19(int) Load 616
746             618:   522(bool) SLessThan 617 29
747             619:   522(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 618 34
748             620:     19(int) Select 619 39 29
749             621:     66(ptr) AccessChain 27(data) 615 39 30
750                              Store 621 620
751             622:      6(int) Load 8(invocation)
752             623:     73(ptr) AccessChain 27(data) 39 39
753             624:   20(ivec4) Load 623
754             625:   72(ivec2) VectorShuffle 624 624 0 1
755             626:  532(bvec2) SLessThan 625 531
756             627:  532(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 626 34
757             628:   72(ivec2) Select 627 535 531
758             629:     73(ptr) AccessChain 27(data) 622 39
759             630:   20(ivec4) Load 629
760             631:   20(ivec4) VectorShuffle 630 628 4 5 2 3
761                              Store 629 631
762             632:      6(int) Load 8(invocation)
763             633:     73(ptr) AccessChain 27(data) 39 39
764             634:   20(ivec4) Load 633
765             635:   82(ivec3) VectorShuffle 634 634 0 1 2
766             636:  545(bvec3) SLessThan 635 544
767             637:  545(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 636 34
768             638:   82(ivec3) Select 637 548 544
769             639:     73(ptr) AccessChain 27(data) 632 39
770             640:   20(ivec4) Load 639
771             641:   20(ivec4) VectorShuffle 640 638 4 5 6 3
772                              Store 639 641
773             642:      6(int) Load 8(invocation)
774             643:     73(ptr) AccessChain 27(data) 39 39
775             644:   20(ivec4) Load 643
776             645:  557(bvec4) SLessThan 644 556
777             646:  557(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 645 34
778             647:   20(ivec4) Select 646 560 556
779             648:     73(ptr) AccessChain 27(data) 642 39
780                              Store 648 647
781             649:      6(int) Load 8(invocation)
782             650:     66(ptr) AccessChain 27(data) 29 39 30
783             651:     19(int) Load 650
784             652:     19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 651 34
785             653:     66(ptr) AccessChain 27(data) 649 39 30
786                              Store 653 652
787             654:      6(int) Load 8(invocation)
788             655:     73(ptr) AccessChain 27(data) 39 39
789             656:   20(ivec4) Load 655
790             657:   72(ivec2) VectorShuffle 656 656 0 1
791             658:   72(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 657 34
792             659:     73(ptr) AccessChain 27(data) 654 39
793             660:   20(ivec4) Load 659
794             661:   20(ivec4) VectorShuffle 660 658 4 5 2 3
795                              Store 659 661
796             662:      6(int) Load 8(invocation)
797             663:     73(ptr) AccessChain 27(data) 50 39
798             664:   20(ivec4) Load 663
799             665:   82(ivec3) VectorShuffle 664 664 0 1 2
800             666:   82(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 665 34
801             667:     73(ptr) AccessChain 27(data) 662 39
802             668:   20(ivec4) Load 667
803             669:   20(ivec4) VectorShuffle 668 666 4 5 6 3
804                              Store 667 669
805             670:      6(int) Load 8(invocation)
806             671:     73(ptr) AccessChain 27(data) 60 39
807             672:   20(ivec4) Load 671
808             673:   20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 672 34
809             674:     73(ptr) AccessChain 27(data) 670 39
810                              Store 674 673
811             675:      6(int) Load 8(invocation)
812             676:     96(ptr) AccessChain 27(data) 29 50 30
813             677:      6(int) Load 676
814             678:      6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 677 34
815             679:     96(ptr) AccessChain 27(data) 675 50 30
816                              Store 679 678
817             680:      6(int) Load 8(invocation)
818             681:    103(ptr) AccessChain 27(data) 39 50
819             682:   21(ivec4) Load 681
820             683:  102(ivec2) VectorShuffle 682 682 0 1
821             684:  102(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 683 34
822             685:    103(ptr) AccessChain 27(data) 680 50
823             686:   21(ivec4) Load 685
824             687:   21(ivec4) VectorShuffle 686 684 4 5 2 3
825                              Store 685 687
826             688:      6(int) Load 8(invocation)
827             689:    103(ptr) AccessChain 27(data) 50 50
828             690:   21(ivec4) Load 689
829             691:  112(ivec3) VectorShuffle 690 690 0 1 2
830             692:  112(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 691 34
831             693:    103(ptr) AccessChain 27(data) 688 50
832             694:   21(ivec4) Load 693
833             695:   21(ivec4) VectorShuffle 694 692 4 5 6 3
834                              Store 693 695
835             696:      6(int) Load 8(invocation)
836             697:    103(ptr) AccessChain 27(data) 60 50
837             698:   21(ivec4) Load 697
838             699:   21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 698 34
839             700:    103(ptr) AccessChain 27(data) 696 50
840                              Store 700 699
841             701:      6(int) Load 8(invocation)
842             702:     66(ptr) AccessChain 27(data) 29 39 30
843             703:     19(int) Load 702
844             704:   522(bool) SLessThan 703 29
845             705:   522(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 704 34
846             706:     19(int) Select 705 39 29
847             707:     66(ptr) AccessChain 27(data) 701 39 30
848                              Store 707 706
849             708:      6(int) Load 8(invocation)
850             709:     73(ptr) AccessChain 27(data) 39 39
851             710:   20(ivec4) Load 709
852             711:   72(ivec2) VectorShuffle 710 710 0 1
853             712:  532(bvec2) SLessThan 711 531
854             713:  532(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 712 34
855             714:   72(ivec2) Select 713 535 531
856             715:     73(ptr) AccessChain 27(data) 708 39
857             716:   20(ivec4) Load 715
858             717:   20(ivec4) VectorShuffle 716 714 4 5 2 3
859                              Store 715 717
860             718:      6(int) Load 8(invocation)
861             719:     73(ptr) AccessChain 27(data) 39 39
862             720:   20(ivec4) Load 719
863             721:   82(ivec3) VectorShuffle 720 720 0 1 2
864             722:  545(bvec3) SLessThan 721 544
865             723:  545(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 722 34
866             724:   82(ivec3) Select 723 548 544
867             725:     73(ptr) AccessChain 27(data) 718 39
868             726:   20(ivec4) Load 725
869             727:   20(ivec4) VectorShuffle 726 724 4 5 6 3
870                              Store 725 727
871             728:      6(int) Load 8(invocation)
872             729:     73(ptr) AccessChain 27(data) 39 39
873             730:   20(ivec4) Load 729
874             731:  557(bvec4) SLessThan 730 556
875             732:  557(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 731 34
876             733:   20(ivec4) Select 732 560 556
877             734:     73(ptr) AccessChain 27(data) 728 39
878                              Store 734 733
879                              Return
880                              FunctionEnd
881