blob: b418148cd4233ca9d766c3d53dfe035f359f6b76 [file] [log] [blame]
spv.subgroupQuad.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 696
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 695 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)
51: 19(int) Constant 2
52: TypeVector 17(float) 3
61: 6(int) Constant 2
65: 19(int) Constant 3
71: TypePointer StorageBuffer 19(int)
77: TypeVector 19(int) 2
78: TypePointer StorageBuffer 20(ivec4)
88: TypeVector 19(int) 3
105: TypePointer StorageBuffer 6(int)
111: TypeVector 6(int) 2
112: TypePointer StorageBuffer 21(ivec4)
122: TypeVector 6(int) 3
139: TypePointer StorageBuffer 22(float64_t)
145: TypeVector 22(float64_t) 2
146: TypePointer StorageBuffer 23(f64vec4)
156: TypeVector 22(float64_t) 3
175: TypeBool
184: 77(ivec2) ConstantComposite 29 29
185: TypeVector 175(bool) 2
188: 77(ivec2) ConstantComposite 39 39
198: 88(ivec3) ConstantComposite 29 29 29
199: TypeVector 175(bool) 3
202: 88(ivec3) ConstantComposite 39 39 39
213: 20(ivec4) ConstantComposite 29 29 29 29
214: TypeVector 175(bool) 4
217: 20(ivec4) ConstantComposite 39 39 39 39
694: 6(int) Constant 8
695: 122(ivec3) ConstantComposite 694 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: 31(ptr) AccessChain 27(data) 38 29 30
47: 17(float) CompositeExtract 45 0
Store 46 47
48: 31(ptr) AccessChain 27(data) 38 29 34
49: 17(float) CompositeExtract 45 1
Store 48 49
50: 6(int) Load 8(invocation)
53: 41(ptr) AccessChain 27(data) 51 29
54: 18(fvec4) Load 53
55: 52(fvec3) VectorShuffle 54 54 0 1 2
56: 52(fvec3) GroupNonUniformQuadBroadcast 35 55 34
57: 31(ptr) AccessChain 27(data) 50 29 30
58: 17(float) CompositeExtract 56 0
Store 57 58
59: 31(ptr) AccessChain 27(data) 50 29 34
60: 17(float) CompositeExtract 56 1
Store 59 60
62: 31(ptr) AccessChain 27(data) 50 29 61
63: 17(float) CompositeExtract 56 2
Store 62 63
64: 6(int) Load 8(invocation)
66: 41(ptr) AccessChain 27(data) 65 29
67: 18(fvec4) Load 66
68: 18(fvec4) GroupNonUniformQuadBroadcast 35 67 34
69: 41(ptr) AccessChain 27(data) 64 29
Store 69 68
70: 6(int) Load 8(invocation)
72: 71(ptr) AccessChain 27(data) 29 39 30
73: 19(int) Load 72
74: 19(int) GroupNonUniformQuadBroadcast 35 73 34
75: 71(ptr) AccessChain 27(data) 70 39 30
Store 75 74
76: 6(int) Load 8(invocation)
79: 78(ptr) AccessChain 27(data) 39 39
80: 20(ivec4) Load 79
81: 77(ivec2) VectorShuffle 80 80 0 1
82: 77(ivec2) GroupNonUniformQuadBroadcast 35 81 34
83: 71(ptr) AccessChain 27(data) 76 39 30
84: 19(int) CompositeExtract 82 0
Store 83 84
85: 71(ptr) AccessChain 27(data) 76 39 34
86: 19(int) CompositeExtract 82 1
Store 85 86
87: 6(int) Load 8(invocation)
89: 78(ptr) AccessChain 27(data) 51 39
90: 20(ivec4) Load 89
91: 88(ivec3) VectorShuffle 90 90 0 1 2
92: 88(ivec3) GroupNonUniformQuadBroadcast 35 91 34
93: 71(ptr) AccessChain 27(data) 87 39 30
94: 19(int) CompositeExtract 92 0
Store 93 94
95: 71(ptr) AccessChain 27(data) 87 39 34
96: 19(int) CompositeExtract 92 1
Store 95 96
97: 71(ptr) AccessChain 27(data) 87 39 61
98: 19(int) CompositeExtract 92 2
Store 97 98
99: 6(int) Load 8(invocation)
100: 78(ptr) AccessChain 27(data) 65 39
101: 20(ivec4) Load 100
102: 20(ivec4) GroupNonUniformQuadBroadcast 35 101 34
103: 78(ptr) AccessChain 27(data) 99 39
Store 103 102
104: 6(int) Load 8(invocation)
106: 105(ptr) AccessChain 27(data) 29 51 30
107: 6(int) Load 106
108: 6(int) GroupNonUniformQuadBroadcast 35 107 34
109: 105(ptr) AccessChain 27(data) 104 51 30
Store 109 108
110: 6(int) Load 8(invocation)
113: 112(ptr) AccessChain 27(data) 39 51
114: 21(ivec4) Load 113
115: 111(ivec2) VectorShuffle 114 114 0 1
116: 111(ivec2) GroupNonUniformQuadBroadcast 35 115 34
117: 105(ptr) AccessChain 27(data) 110 51 30
118: 6(int) CompositeExtract 116 0
Store 117 118
119: 105(ptr) AccessChain 27(data) 110 51 34
120: 6(int) CompositeExtract 116 1
Store 119 120
121: 6(int) Load 8(invocation)
123: 112(ptr) AccessChain 27(data) 51 51
124: 21(ivec4) Load 123
125: 122(ivec3) VectorShuffle 124 124 0 1 2
126: 122(ivec3) GroupNonUniformQuadBroadcast 35 125 34
127: 105(ptr) AccessChain 27(data) 121 51 30
128: 6(int) CompositeExtract 126 0
Store 127 128
129: 105(ptr) AccessChain 27(data) 121 51 34
130: 6(int) CompositeExtract 126 1
Store 129 130
131: 105(ptr) AccessChain 27(data) 121 51 61
132: 6(int) CompositeExtract 126 2
Store 131 132
133: 6(int) Load 8(invocation)
134: 112(ptr) AccessChain 27(data) 65 51
135: 21(ivec4) Load 134
136: 21(ivec4) GroupNonUniformQuadBroadcast 35 135 34
137: 112(ptr) AccessChain 27(data) 133 51
Store 137 136
138: 6(int) Load 8(invocation)
140: 139(ptr) AccessChain 27(data) 29 65 30
141:22(float64_t) Load 140
142:22(float64_t) GroupNonUniformQuadBroadcast 35 141 34
143: 139(ptr) AccessChain 27(data) 138 65 30
Store 143 142
144: 6(int) Load 8(invocation)
147: 146(ptr) AccessChain 27(data) 39 65
148: 23(f64vec4) Load 147
149:145(f64vec2) VectorShuffle 148 148 0 1
150:145(f64vec2) GroupNonUniformQuadBroadcast 35 149 34
151: 139(ptr) AccessChain 27(data) 144 65 30
152:22(float64_t) CompositeExtract 150 0
Store 151 152
153: 139(ptr) AccessChain 27(data) 144 65 34
154:22(float64_t) CompositeExtract 150 1
Store 153 154
155: 6(int) Load 8(invocation)
157: 146(ptr) AccessChain 27(data) 51 65
158: 23(f64vec4) Load 157
159:156(f64vec3) VectorShuffle 158 158 0 1 2
160:156(f64vec3) GroupNonUniformQuadBroadcast 35 159 34
161: 139(ptr) AccessChain 27(data) 155 65 30
162:22(float64_t) CompositeExtract 160 0
Store 161 162
163: 139(ptr) AccessChain 27(data) 155 65 34
164:22(float64_t) CompositeExtract 160 1
Store 163 164
165: 139(ptr) AccessChain 27(data) 155 65 61
166:22(float64_t) CompositeExtract 160 2
Store 165 166
167: 6(int) Load 8(invocation)
168: 146(ptr) AccessChain 27(data) 65 65
169: 23(f64vec4) Load 168
170: 23(f64vec4) GroupNonUniformQuadBroadcast 35 169 34
171: 146(ptr) AccessChain 27(data) 167 65
Store 171 170
172: 6(int) Load 8(invocation)
173: 71(ptr) AccessChain 27(data) 29 39 30
174: 19(int) Load 173
176: 175(bool) SLessThan 174 29
177: 175(bool) GroupNonUniformQuadBroadcast 35 176 34
178: 19(int) Select 177 39 29
179: 71(ptr) AccessChain 27(data) 172 39 30
Store 179 178
180: 6(int) Load 8(invocation)
181: 78(ptr) AccessChain 27(data) 39 39
182: 20(ivec4) Load 181
183: 77(ivec2) VectorShuffle 182 182 0 1
186: 185(bvec2) SLessThan 183 184
187: 185(bvec2) GroupNonUniformQuadBroadcast 35 186 34
189: 77(ivec2) Select 187 188 184
190: 71(ptr) AccessChain 27(data) 180 39 30
191: 19(int) CompositeExtract 189 0
Store 190 191
192: 71(ptr) AccessChain 27(data) 180 39 34
193: 19(int) CompositeExtract 189 1
Store 192 193
194: 6(int) Load 8(invocation)
195: 78(ptr) AccessChain 27(data) 39 39
196: 20(ivec4) Load 195
197: 88(ivec3) VectorShuffle 196 196 0 1 2
200: 199(bvec3) SLessThan 197 198
201: 199(bvec3) GroupNonUniformQuadBroadcast 35 200 34
203: 88(ivec3) Select 201 202 198
204: 71(ptr) AccessChain 27(data) 194 39 30
205: 19(int) CompositeExtract 203 0
Store 204 205
206: 71(ptr) AccessChain 27(data) 194 39 34
207: 19(int) CompositeExtract 203 1
Store 206 207
208: 71(ptr) AccessChain 27(data) 194 39 61
209: 19(int) CompositeExtract 203 2
Store 208 209
210: 6(int) Load 8(invocation)
211: 78(ptr) AccessChain 27(data) 39 39
212: 20(ivec4) Load 211
215: 214(bvec4) SLessThan 212 213
216: 214(bvec4) GroupNonUniformQuadBroadcast 35 215 34
218: 20(ivec4) Select 216 217 213
219: 78(ptr) AccessChain 27(data) 210 39
Store 219 218
220: 6(int) Load 8(invocation)
221: 31(ptr) AccessChain 27(data) 29 29 30
222: 17(float) Load 221
223: 17(float) GroupNonUniformQuadSwap 35 222 30
224: 31(ptr) AccessChain 27(data) 220 29 30
Store 224 223
225: 6(int) Load 8(invocation)
226: 41(ptr) AccessChain 27(data) 39 29
227: 18(fvec4) Load 226
228: 40(fvec2) VectorShuffle 227 227 0 1
229: 40(fvec2) GroupNonUniformQuadSwap 35 228 30
230: 31(ptr) AccessChain 27(data) 225 29 30
231: 17(float) CompositeExtract 229 0
Store 230 231
232: 31(ptr) AccessChain 27(data) 225 29 34
233: 17(float) CompositeExtract 229 1
Store 232 233
234: 6(int) Load 8(invocation)
235: 41(ptr) AccessChain 27(data) 51 29
236: 18(fvec4) Load 235
237: 52(fvec3) VectorShuffle 236 236 0 1 2
238: 52(fvec3) GroupNonUniformQuadSwap 35 237 30
239: 31(ptr) AccessChain 27(data) 234 29 30
240: 17(float) CompositeExtract 238 0
Store 239 240
241: 31(ptr) AccessChain 27(data) 234 29 34
242: 17(float) CompositeExtract 238 1
Store 241 242
243: 31(ptr) AccessChain 27(data) 234 29 61
244: 17(float) CompositeExtract 238 2
Store 243 244
245: 6(int) Load 8(invocation)
246: 41(ptr) AccessChain 27(data) 65 29
247: 18(fvec4) Load 246
248: 18(fvec4) GroupNonUniformQuadSwap 35 247 30
249: 41(ptr) AccessChain 27(data) 245 29
Store 249 248
250: 6(int) Load 8(invocation)
251: 71(ptr) AccessChain 27(data) 29 39 30
252: 19(int) Load 251
253: 19(int) GroupNonUniformQuadSwap 35 252 30
254: 71(ptr) AccessChain 27(data) 250 39 30
Store 254 253
255: 6(int) Load 8(invocation)
256: 78(ptr) AccessChain 27(data) 39 39
257: 20(ivec4) Load 256
258: 77(ivec2) VectorShuffle 257 257 0 1
259: 77(ivec2) GroupNonUniformQuadSwap 35 258 30
260: 71(ptr) AccessChain 27(data) 255 39 30
261: 19(int) CompositeExtract 259 0
Store 260 261
262: 71(ptr) AccessChain 27(data) 255 39 34
263: 19(int) CompositeExtract 259 1
Store 262 263
264: 6(int) Load 8(invocation)
265: 78(ptr) AccessChain 27(data) 51 39
266: 20(ivec4) Load 265
267: 88(ivec3) VectorShuffle 266 266 0 1 2
268: 88(ivec3) GroupNonUniformQuadSwap 35 267 30
269: 71(ptr) AccessChain 27(data) 264 39 30
270: 19(int) CompositeExtract 268 0
Store 269 270
271: 71(ptr) AccessChain 27(data) 264 39 34
272: 19(int) CompositeExtract 268 1
Store 271 272
273: 71(ptr) AccessChain 27(data) 264 39 61
274: 19(int) CompositeExtract 268 2
Store 273 274
275: 6(int) Load 8(invocation)
276: 78(ptr) AccessChain 27(data) 65 39
277: 20(ivec4) Load 276
278: 20(ivec4) GroupNonUniformQuadSwap 35 277 30
279: 78(ptr) AccessChain 27(data) 275 39
Store 279 278
280: 6(int) Load 8(invocation)
281: 105(ptr) AccessChain 27(data) 29 51 30
282: 6(int) Load 281
283: 6(int) GroupNonUniformQuadSwap 35 282 30
284: 105(ptr) AccessChain 27(data) 280 51 30
Store 284 283
285: 6(int) Load 8(invocation)
286: 112(ptr) AccessChain 27(data) 39 51
287: 21(ivec4) Load 286
288: 111(ivec2) VectorShuffle 287 287 0 1
289: 111(ivec2) GroupNonUniformQuadSwap 35 288 30
290: 105(ptr) AccessChain 27(data) 285 51 30
291: 6(int) CompositeExtract 289 0
Store 290 291
292: 105(ptr) AccessChain 27(data) 285 51 34
293: 6(int) CompositeExtract 289 1
Store 292 293
294: 6(int) Load 8(invocation)
295: 112(ptr) AccessChain 27(data) 51 51
296: 21(ivec4) Load 295
297: 122(ivec3) VectorShuffle 296 296 0 1 2
298: 122(ivec3) GroupNonUniformQuadSwap 35 297 30
299: 105(ptr) AccessChain 27(data) 294 51 30
300: 6(int) CompositeExtract 298 0
Store 299 300
301: 105(ptr) AccessChain 27(data) 294 51 34
302: 6(int) CompositeExtract 298 1
Store 301 302
303: 105(ptr) AccessChain 27(data) 294 51 61
304: 6(int) CompositeExtract 298 2
Store 303 304
305: 6(int) Load 8(invocation)
306: 112(ptr) AccessChain 27(data) 65 51
307: 21(ivec4) Load 306
308: 21(ivec4) GroupNonUniformQuadSwap 35 307 30
309: 112(ptr) AccessChain 27(data) 305 51
Store 309 308
310: 6(int) Load 8(invocation)
311: 139(ptr) AccessChain 27(data) 29 65 30
312:22(float64_t) Load 311
313:22(float64_t) GroupNonUniformQuadSwap 35 312 30
314: 139(ptr) AccessChain 27(data) 310 65 30
Store 314 313
315: 6(int) Load 8(invocation)
316: 146(ptr) AccessChain 27(data) 39 65
317: 23(f64vec4) Load 316
318:145(f64vec2) VectorShuffle 317 317 0 1
319:145(f64vec2) GroupNonUniformQuadSwap 35 318 30
320: 139(ptr) AccessChain 27(data) 315 65 30
321:22(float64_t) CompositeExtract 319 0
Store 320 321
322: 139(ptr) AccessChain 27(data) 315 65 34
323:22(float64_t) CompositeExtract 319 1
Store 322 323
324: 6(int) Load 8(invocation)
325: 146(ptr) AccessChain 27(data) 51 65
326: 23(f64vec4) Load 325
327:156(f64vec3) VectorShuffle 326 326 0 1 2
328:156(f64vec3) GroupNonUniformQuadSwap 35 327 30
329: 139(ptr) AccessChain 27(data) 324 65 30
330:22(float64_t) CompositeExtract 328 0
Store 329 330
331: 139(ptr) AccessChain 27(data) 324 65 34
332:22(float64_t) CompositeExtract 328 1
Store 331 332
333: 139(ptr) AccessChain 27(data) 324 65 61
334:22(float64_t) CompositeExtract 328 2
Store 333 334
335: 6(int) Load 8(invocation)
336: 146(ptr) AccessChain 27(data) 65 65
337: 23(f64vec4) Load 336
338: 23(f64vec4) GroupNonUniformQuadSwap 35 337 30
339: 146(ptr) AccessChain 27(data) 335 65
Store 339 338
340: 6(int) Load 8(invocation)
341: 71(ptr) AccessChain 27(data) 29 39 30
342: 19(int) Load 341
343: 175(bool) SLessThan 342 29
344: 175(bool) GroupNonUniformQuadSwap 35 343 30
345: 19(int) Select 344 39 29
346: 71(ptr) AccessChain 27(data) 340 39 30
Store 346 345
347: 6(int) Load 8(invocation)
348: 78(ptr) AccessChain 27(data) 39 39
349: 20(ivec4) Load 348
350: 77(ivec2) VectorShuffle 349 349 0 1
351: 185(bvec2) SLessThan 350 184
352: 185(bvec2) GroupNonUniformQuadSwap 35 351 30
353: 77(ivec2) Select 352 188 184
354: 71(ptr) AccessChain 27(data) 347 39 30
355: 19(int) CompositeExtract 353 0
Store 354 355
356: 71(ptr) AccessChain 27(data) 347 39 34
357: 19(int) CompositeExtract 353 1
Store 356 357
358: 6(int) Load 8(invocation)
359: 78(ptr) AccessChain 27(data) 39 39
360: 20(ivec4) Load 359
361: 88(ivec3) VectorShuffle 360 360 0 1 2
362: 199(bvec3) SLessThan 361 198
363: 199(bvec3) GroupNonUniformQuadSwap 35 362 30
364: 88(ivec3) Select 363 202 198
365: 71(ptr) AccessChain 27(data) 358 39 30
366: 19(int) CompositeExtract 364 0
Store 365 366
367: 71(ptr) AccessChain 27(data) 358 39 34
368: 19(int) CompositeExtract 364 1
Store 367 368
369: 71(ptr) AccessChain 27(data) 358 39 61
370: 19(int) CompositeExtract 364 2
Store 369 370
371: 6(int) Load 8(invocation)
372: 78(ptr) AccessChain 27(data) 39 39
373: 20(ivec4) Load 372
374: 214(bvec4) SLessThan 373 213
375: 214(bvec4) GroupNonUniformQuadSwap 35 374 30
376: 20(ivec4) Select 375 217 213
377: 78(ptr) AccessChain 27(data) 371 39
Store 377 376
378: 6(int) Load 8(invocation)
379: 31(ptr) AccessChain 27(data) 29 29 30
380: 17(float) Load 379
381: 17(float) GroupNonUniformQuadSwap 35 380 34
382: 31(ptr) AccessChain 27(data) 378 29 30
Store 382 381
383: 6(int) Load 8(invocation)
384: 41(ptr) AccessChain 27(data) 39 29
385: 18(fvec4) Load 384
386: 40(fvec2) VectorShuffle 385 385 0 1
387: 40(fvec2) GroupNonUniformQuadSwap 35 386 34
388: 31(ptr) AccessChain 27(data) 383 29 30
389: 17(float) CompositeExtract 387 0
Store 388 389
390: 31(ptr) AccessChain 27(data) 383 29 34
391: 17(float) CompositeExtract 387 1
Store 390 391
392: 6(int) Load 8(invocation)
393: 41(ptr) AccessChain 27(data) 51 29
394: 18(fvec4) Load 393
395: 52(fvec3) VectorShuffle 394 394 0 1 2
396: 52(fvec3) GroupNonUniformQuadSwap 35 395 34
397: 31(ptr) AccessChain 27(data) 392 29 30
398: 17(float) CompositeExtract 396 0
Store 397 398
399: 31(ptr) AccessChain 27(data) 392 29 34
400: 17(float) CompositeExtract 396 1
Store 399 400
401: 31(ptr) AccessChain 27(data) 392 29 61
402: 17(float) CompositeExtract 396 2
Store 401 402
403: 6(int) Load 8(invocation)
404: 41(ptr) AccessChain 27(data) 65 29
405: 18(fvec4) Load 404
406: 18(fvec4) GroupNonUniformQuadSwap 35 405 34
407: 41(ptr) AccessChain 27(data) 403 29
Store 407 406
408: 6(int) Load 8(invocation)
409: 71(ptr) AccessChain 27(data) 29 39 30
410: 19(int) Load 409
411: 19(int) GroupNonUniformQuadSwap 35 410 34
412: 71(ptr) AccessChain 27(data) 408 39 30
Store 412 411
413: 6(int) Load 8(invocation)
414: 78(ptr) AccessChain 27(data) 39 39
415: 20(ivec4) Load 414
416: 77(ivec2) VectorShuffle 415 415 0 1
417: 77(ivec2) GroupNonUniformQuadSwap 35 416 34
418: 71(ptr) AccessChain 27(data) 413 39 30
419: 19(int) CompositeExtract 417 0
Store 418 419
420: 71(ptr) AccessChain 27(data) 413 39 34
421: 19(int) CompositeExtract 417 1
Store 420 421
422: 6(int) Load 8(invocation)
423: 78(ptr) AccessChain 27(data) 51 39
424: 20(ivec4) Load 423
425: 88(ivec3) VectorShuffle 424 424 0 1 2
426: 88(ivec3) GroupNonUniformQuadSwap 35 425 34
427: 71(ptr) AccessChain 27(data) 422 39 30
428: 19(int) CompositeExtract 426 0
Store 427 428
429: 71(ptr) AccessChain 27(data) 422 39 34
430: 19(int) CompositeExtract 426 1
Store 429 430
431: 71(ptr) AccessChain 27(data) 422 39 61
432: 19(int) CompositeExtract 426 2
Store 431 432
433: 6(int) Load 8(invocation)
434: 78(ptr) AccessChain 27(data) 65 39
435: 20(ivec4) Load 434
436: 20(ivec4) GroupNonUniformQuadSwap 35 435 34
437: 78(ptr) AccessChain 27(data) 433 39
Store 437 436
438: 6(int) Load 8(invocation)
439: 105(ptr) AccessChain 27(data) 29 51 30
440: 6(int) Load 439
441: 6(int) GroupNonUniformQuadSwap 35 440 34
442: 105(ptr) AccessChain 27(data) 438 51 30
Store 442 441
443: 6(int) Load 8(invocation)
444: 112(ptr) AccessChain 27(data) 39 51
445: 21(ivec4) Load 444
446: 111(ivec2) VectorShuffle 445 445 0 1
447: 111(ivec2) GroupNonUniformQuadSwap 35 446 34
448: 105(ptr) AccessChain 27(data) 443 51 30
449: 6(int) CompositeExtract 447 0
Store 448 449
450: 105(ptr) AccessChain 27(data) 443 51 34
451: 6(int) CompositeExtract 447 1
Store 450 451
452: 6(int) Load 8(invocation)
453: 112(ptr) AccessChain 27(data) 51 51
454: 21(ivec4) Load 453
455: 122(ivec3) VectorShuffle 454 454 0 1 2
456: 122(ivec3) GroupNonUniformQuadSwap 35 455 34
457: 105(ptr) AccessChain 27(data) 452 51 30
458: 6(int) CompositeExtract 456 0
Store 457 458
459: 105(ptr) AccessChain 27(data) 452 51 34
460: 6(int) CompositeExtract 456 1
Store 459 460
461: 105(ptr) AccessChain 27(data) 452 51 61
462: 6(int) CompositeExtract 456 2
Store 461 462
463: 6(int) Load 8(invocation)
464: 112(ptr) AccessChain 27(data) 65 51
465: 21(ivec4) Load 464
466: 21(ivec4) GroupNonUniformQuadSwap 35 465 34
467: 112(ptr) AccessChain 27(data) 463 51
Store 467 466
468: 6(int) Load 8(invocation)
469: 139(ptr) AccessChain 27(data) 29 65 30
470:22(float64_t) Load 469
471:22(float64_t) GroupNonUniformQuadSwap 35 470 34
472: 139(ptr) AccessChain 27(data) 468 65 30
Store 472 471
473: 6(int) Load 8(invocation)
474: 146(ptr) AccessChain 27(data) 39 65
475: 23(f64vec4) Load 474
476:145(f64vec2) VectorShuffle 475 475 0 1
477:145(f64vec2) GroupNonUniformQuadSwap 35 476 34
478: 139(ptr) AccessChain 27(data) 473 65 30
479:22(float64_t) CompositeExtract 477 0
Store 478 479
480: 139(ptr) AccessChain 27(data) 473 65 34
481:22(float64_t) CompositeExtract 477 1
Store 480 481
482: 6(int) Load 8(invocation)
483: 146(ptr) AccessChain 27(data) 51 65
484: 23(f64vec4) Load 483
485:156(f64vec3) VectorShuffle 484 484 0 1 2
486:156(f64vec3) GroupNonUniformQuadSwap 35 485 34
487: 139(ptr) AccessChain 27(data) 482 65 30
488:22(float64_t) CompositeExtract 486 0
Store 487 488
489: 139(ptr) AccessChain 27(data) 482 65 34
490:22(float64_t) CompositeExtract 486 1
Store 489 490
491: 139(ptr) AccessChain 27(data) 482 65 61
492:22(float64_t) CompositeExtract 486 2
Store 491 492
493: 6(int) Load 8(invocation)
494: 146(ptr) AccessChain 27(data) 65 65
495: 23(f64vec4) Load 494
496: 23(f64vec4) GroupNonUniformQuadSwap 35 495 34
497: 146(ptr) AccessChain 27(data) 493 65
Store 497 496
498: 6(int) Load 8(invocation)
499: 71(ptr) AccessChain 27(data) 29 39 30
500: 19(int) Load 499
501: 175(bool) SLessThan 500 29
502: 175(bool) GroupNonUniformQuadSwap 35 501 34
503: 19(int) Select 502 39 29
504: 71(ptr) AccessChain 27(data) 498 39 30
Store 504 503
505: 6(int) Load 8(invocation)
506: 78(ptr) AccessChain 27(data) 39 39
507: 20(ivec4) Load 506
508: 77(ivec2) VectorShuffle 507 507 0 1
509: 185(bvec2) SLessThan 508 184
510: 185(bvec2) GroupNonUniformQuadSwap 35 509 34
511: 77(ivec2) Select 510 188 184
512: 71(ptr) AccessChain 27(data) 505 39 30
513: 19(int) CompositeExtract 511 0
Store 512 513
514: 71(ptr) AccessChain 27(data) 505 39 34
515: 19(int) CompositeExtract 511 1
Store 514 515
516: 6(int) Load 8(invocation)
517: 78(ptr) AccessChain 27(data) 39 39
518: 20(ivec4) Load 517
519: 88(ivec3) VectorShuffle 518 518 0 1 2
520: 199(bvec3) SLessThan 519 198
521: 199(bvec3) GroupNonUniformQuadSwap 35 520 34
522: 88(ivec3) Select 521 202 198
523: 71(ptr) AccessChain 27(data) 516 39 30
524: 19(int) CompositeExtract 522 0
Store 523 524
525: 71(ptr) AccessChain 27(data) 516 39 34
526: 19(int) CompositeExtract 522 1
Store 525 526
527: 71(ptr) AccessChain 27(data) 516 39 61
528: 19(int) CompositeExtract 522 2
Store 527 528
529: 6(int) Load 8(invocation)
530: 78(ptr) AccessChain 27(data) 39 39
531: 20(ivec4) Load 530
532: 214(bvec4) SLessThan 531 213
533: 214(bvec4) GroupNonUniformQuadSwap 35 532 34
534: 20(ivec4) Select 533 217 213
535: 78(ptr) AccessChain 27(data) 529 39
Store 535 534
536: 6(int) Load 8(invocation)
537: 31(ptr) AccessChain 27(data) 29 29 30
538: 17(float) Load 537
539: 17(float) GroupNonUniformQuadSwap 35 538 61
540: 31(ptr) AccessChain 27(data) 536 29 30
Store 540 539
541: 6(int) Load 8(invocation)
542: 41(ptr) AccessChain 27(data) 39 29
543: 18(fvec4) Load 542
544: 40(fvec2) VectorShuffle 543 543 0 1
545: 40(fvec2) GroupNonUniformQuadSwap 35 544 61
546: 31(ptr) AccessChain 27(data) 541 29 30
547: 17(float) CompositeExtract 545 0
Store 546 547
548: 31(ptr) AccessChain 27(data) 541 29 34
549: 17(float) CompositeExtract 545 1
Store 548 549
550: 6(int) Load 8(invocation)
551: 41(ptr) AccessChain 27(data) 51 29
552: 18(fvec4) Load 551
553: 52(fvec3) VectorShuffle 552 552 0 1 2
554: 52(fvec3) GroupNonUniformQuadSwap 35 553 61
555: 31(ptr) AccessChain 27(data) 550 29 30
556: 17(float) CompositeExtract 554 0
Store 555 556
557: 31(ptr) AccessChain 27(data) 550 29 34
558: 17(float) CompositeExtract 554 1
Store 557 558
559: 31(ptr) AccessChain 27(data) 550 29 61
560: 17(float) CompositeExtract 554 2
Store 559 560
561: 6(int) Load 8(invocation)
562: 41(ptr) AccessChain 27(data) 65 29
563: 18(fvec4) Load 562
564: 18(fvec4) GroupNonUniformQuadSwap 35 563 61
565: 41(ptr) AccessChain 27(data) 561 29
Store 565 564
566: 6(int) Load 8(invocation)
567: 71(ptr) AccessChain 27(data) 29 39 30
568: 19(int) Load 567
569: 19(int) GroupNonUniformQuadSwap 35 568 61
570: 71(ptr) AccessChain 27(data) 566 39 30
Store 570 569
571: 6(int) Load 8(invocation)
572: 78(ptr) AccessChain 27(data) 39 39
573: 20(ivec4) Load 572
574: 77(ivec2) VectorShuffle 573 573 0 1
575: 77(ivec2) GroupNonUniformQuadSwap 35 574 61
576: 71(ptr) AccessChain 27(data) 571 39 30
577: 19(int) CompositeExtract 575 0
Store 576 577
578: 71(ptr) AccessChain 27(data) 571 39 34
579: 19(int) CompositeExtract 575 1
Store 578 579
580: 6(int) Load 8(invocation)
581: 78(ptr) AccessChain 27(data) 51 39
582: 20(ivec4) Load 581
583: 88(ivec3) VectorShuffle 582 582 0 1 2
584: 88(ivec3) GroupNonUniformQuadSwap 35 583 61
585: 71(ptr) AccessChain 27(data) 580 39 30
586: 19(int) CompositeExtract 584 0
Store 585 586
587: 71(ptr) AccessChain 27(data) 580 39 34
588: 19(int) CompositeExtract 584 1
Store 587 588
589: 71(ptr) AccessChain 27(data) 580 39 61
590: 19(int) CompositeExtract 584 2
Store 589 590
591: 6(int) Load 8(invocation)
592: 78(ptr) AccessChain 27(data) 65 39
593: 20(ivec4) Load 592
594: 20(ivec4) GroupNonUniformQuadSwap 35 593 61
595: 78(ptr) AccessChain 27(data) 591 39
Store 595 594
596: 6(int) Load 8(invocation)
597: 105(ptr) AccessChain 27(data) 29 51 30
598: 6(int) Load 597
599: 6(int) GroupNonUniformQuadSwap 35 598 61
600: 105(ptr) AccessChain 27(data) 596 51 30
Store 600 599
601: 6(int) Load 8(invocation)
602: 112(ptr) AccessChain 27(data) 39 51
603: 21(ivec4) Load 602
604: 111(ivec2) VectorShuffle 603 603 0 1
605: 111(ivec2) GroupNonUniformQuadSwap 35 604 61
606: 105(ptr) AccessChain 27(data) 601 51 30
607: 6(int) CompositeExtract 605 0
Store 606 607
608: 105(ptr) AccessChain 27(data) 601 51 34
609: 6(int) CompositeExtract 605 1
Store 608 609
610: 6(int) Load 8(invocation)
611: 112(ptr) AccessChain 27(data) 51 51
612: 21(ivec4) Load 611
613: 122(ivec3) VectorShuffle 612 612 0 1 2
614: 122(ivec3) GroupNonUniformQuadSwap 35 613 61
615: 105(ptr) AccessChain 27(data) 610 51 30
616: 6(int) CompositeExtract 614 0
Store 615 616
617: 105(ptr) AccessChain 27(data) 610 51 34
618: 6(int) CompositeExtract 614 1
Store 617 618
619: 105(ptr) AccessChain 27(data) 610 51 61
620: 6(int) CompositeExtract 614 2
Store 619 620
621: 6(int) Load 8(invocation)
622: 112(ptr) AccessChain 27(data) 65 51
623: 21(ivec4) Load 622
624: 21(ivec4) GroupNonUniformQuadSwap 35 623 61
625: 112(ptr) AccessChain 27(data) 621 51
Store 625 624
626: 6(int) Load 8(invocation)
627: 139(ptr) AccessChain 27(data) 29 65 30
628:22(float64_t) Load 627
629:22(float64_t) GroupNonUniformQuadSwap 35 628 61
630: 139(ptr) AccessChain 27(data) 626 65 30
Store 630 629
631: 6(int) Load 8(invocation)
632: 146(ptr) AccessChain 27(data) 39 65
633: 23(f64vec4) Load 632
634:145(f64vec2) VectorShuffle 633 633 0 1
635:145(f64vec2) GroupNonUniformQuadSwap 35 634 61
636: 139(ptr) AccessChain 27(data) 631 65 30
637:22(float64_t) CompositeExtract 635 0
Store 636 637
638: 139(ptr) AccessChain 27(data) 631 65 34
639:22(float64_t) CompositeExtract 635 1
Store 638 639
640: 6(int) Load 8(invocation)
641: 146(ptr) AccessChain 27(data) 51 65
642: 23(f64vec4) Load 641
643:156(f64vec3) VectorShuffle 642 642 0 1 2
644:156(f64vec3) GroupNonUniformQuadSwap 35 643 61
645: 139(ptr) AccessChain 27(data) 640 65 30
646:22(float64_t) CompositeExtract 644 0
Store 645 646
647: 139(ptr) AccessChain 27(data) 640 65 34
648:22(float64_t) CompositeExtract 644 1
Store 647 648
649: 139(ptr) AccessChain 27(data) 640 65 61
650:22(float64_t) CompositeExtract 644 2
Store 649 650
651: 6(int) Load 8(invocation)
652: 146(ptr) AccessChain 27(data) 65 65
653: 23(f64vec4) Load 652
654: 23(f64vec4) GroupNonUniformQuadSwap 35 653 61
655: 146(ptr) AccessChain 27(data) 651 65
Store 655 654
656: 6(int) Load 8(invocation)
657: 71(ptr) AccessChain 27(data) 29 39 30
658: 19(int) Load 657
659: 175(bool) SLessThan 658 29
660: 175(bool) GroupNonUniformQuadSwap 35 659 61
661: 19(int) Select 660 39 29
662: 71(ptr) AccessChain 27(data) 656 39 30
Store 662 661
663: 6(int) Load 8(invocation)
664: 78(ptr) AccessChain 27(data) 39 39
665: 20(ivec4) Load 664
666: 77(ivec2) VectorShuffle 665 665 0 1
667: 185(bvec2) SLessThan 666 184
668: 185(bvec2) GroupNonUniformQuadSwap 35 667 61
669: 77(ivec2) Select 668 188 184
670: 71(ptr) AccessChain 27(data) 663 39 30
671: 19(int) CompositeExtract 669 0
Store 670 671
672: 71(ptr) AccessChain 27(data) 663 39 34
673: 19(int) CompositeExtract 669 1
Store 672 673
674: 6(int) Load 8(invocation)
675: 78(ptr) AccessChain 27(data) 39 39
676: 20(ivec4) Load 675
677: 88(ivec3) VectorShuffle 676 676 0 1 2
678: 199(bvec3) SLessThan 677 198
679: 199(bvec3) GroupNonUniformQuadSwap 35 678 61
680: 88(ivec3) Select 679 202 198
681: 71(ptr) AccessChain 27(data) 674 39 30
682: 19(int) CompositeExtract 680 0
Store 681 682
683: 71(ptr) AccessChain 27(data) 674 39 34
684: 19(int) CompositeExtract 680 1
Store 683 684
685: 71(ptr) AccessChain 27(data) 674 39 61
686: 19(int) CompositeExtract 680 2
Store 685 686
687: 6(int) Load 8(invocation)
688: 78(ptr) AccessChain 27(data) 39 39
689: 20(ivec4) Load 688
690: 214(bvec4) SLessThan 689 213
691: 214(bvec4) GroupNonUniformQuadSwap 35 690 61
692: 20(ivec4) Select 691 217 213
693: 78(ptr) AccessChain 27(data) 687 39
Store 693 692
Return
FunctionEnd