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