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