blob: 2529eeff9a10a782ea3a44ebef15d151253bc0e4 [file] [log] [blame]
spv.subgroupClustered.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 838
Capability Shader
Capability Float64
Capability GroupNonUniform
Capability GroupNonUniformClustered
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_clustered"
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 837 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
595: TypeBool
604: 77(ivec2) ConstantComposite 29 29
605: TypeVector 595(bool) 2
608: 77(ivec2) ConstantComposite 39 39
618: 88(ivec3) ConstantComposite 29 29 29
619: TypeVector 595(bool) 3
622: 88(ivec3) ConstantComposite 39 39 39
633: 20(ivec4) ConstantComposite 29 29 29 29
634: TypeVector 595(bool) 4
637: 20(ivec4) ConstantComposite 39 39 39 39
836: 6(int) Constant 8
837: 122(ivec3) ConstantComposite 836 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformIAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 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) GroupNonUniformFAdd 35 ClusteredReduce 169 34
171: 146(ptr) AccessChain 27(data) 167 65
Store 171 170
172: 6(int) Load 8(invocation)
173: 31(ptr) AccessChain 27(data) 29 29 30
174: 17(float) Load 173
175: 17(float) GroupNonUniformFMul 35 ClusteredReduce 174 34
176: 31(ptr) AccessChain 27(data) 172 29 30
Store 176 175
177: 6(int) Load 8(invocation)
178: 41(ptr) AccessChain 27(data) 39 29
179: 18(fvec4) Load 178
180: 40(fvec2) VectorShuffle 179 179 0 1
181: 40(fvec2) GroupNonUniformFMul 35 ClusteredReduce 180 34
182: 31(ptr) AccessChain 27(data) 177 29 30
183: 17(float) CompositeExtract 181 0
Store 182 183
184: 31(ptr) AccessChain 27(data) 177 29 34
185: 17(float) CompositeExtract 181 1
Store 184 185
186: 6(int) Load 8(invocation)
187: 41(ptr) AccessChain 27(data) 51 29
188: 18(fvec4) Load 187
189: 52(fvec3) VectorShuffle 188 188 0 1 2
190: 52(fvec3) GroupNonUniformFMul 35 ClusteredReduce 189 34
191: 31(ptr) AccessChain 27(data) 186 29 30
192: 17(float) CompositeExtract 190 0
Store 191 192
193: 31(ptr) AccessChain 27(data) 186 29 34
194: 17(float) CompositeExtract 190 1
Store 193 194
195: 31(ptr) AccessChain 27(data) 186 29 61
196: 17(float) CompositeExtract 190 2
Store 195 196
197: 6(int) Load 8(invocation)
198: 41(ptr) AccessChain 27(data) 65 29
199: 18(fvec4) Load 198
200: 18(fvec4) GroupNonUniformFMul 35 ClusteredReduce 199 34
201: 41(ptr) AccessChain 27(data) 197 29
Store 201 200
202: 6(int) Load 8(invocation)
203: 71(ptr) AccessChain 27(data) 29 39 30
204: 19(int) Load 203
205: 19(int) GroupNonUniformIMul 35 ClusteredReduce 204 34
206: 71(ptr) AccessChain 27(data) 202 39 30
Store 206 205
207: 6(int) Load 8(invocation)
208: 78(ptr) AccessChain 27(data) 39 39
209: 20(ivec4) Load 208
210: 77(ivec2) VectorShuffle 209 209 0 1
211: 77(ivec2) GroupNonUniformIMul 35 ClusteredReduce 210 34
212: 71(ptr) AccessChain 27(data) 207 39 30
213: 19(int) CompositeExtract 211 0
Store 212 213
214: 71(ptr) AccessChain 27(data) 207 39 34
215: 19(int) CompositeExtract 211 1
Store 214 215
216: 6(int) Load 8(invocation)
217: 78(ptr) AccessChain 27(data) 51 39
218: 20(ivec4) Load 217
219: 88(ivec3) VectorShuffle 218 218 0 1 2
220: 88(ivec3) GroupNonUniformIMul 35 ClusteredReduce 219 34
221: 71(ptr) AccessChain 27(data) 216 39 30
222: 19(int) CompositeExtract 220 0
Store 221 222
223: 71(ptr) AccessChain 27(data) 216 39 34
224: 19(int) CompositeExtract 220 1
Store 223 224
225: 71(ptr) AccessChain 27(data) 216 39 61
226: 19(int) CompositeExtract 220 2
Store 225 226
227: 6(int) Load 8(invocation)
228: 78(ptr) AccessChain 27(data) 65 39
229: 20(ivec4) Load 228
230: 20(ivec4) GroupNonUniformIMul 35 ClusteredReduce 229 34
231: 78(ptr) AccessChain 27(data) 227 39
Store 231 230
232: 6(int) Load 8(invocation)
233: 105(ptr) AccessChain 27(data) 29 51 30
234: 6(int) Load 233
235: 6(int) GroupNonUniformIMul 35 ClusteredReduce 234 34
236: 105(ptr) AccessChain 27(data) 232 51 30
Store 236 235
237: 6(int) Load 8(invocation)
238: 112(ptr) AccessChain 27(data) 39 51
239: 21(ivec4) Load 238
240: 111(ivec2) VectorShuffle 239 239 0 1
241: 111(ivec2) GroupNonUniformIMul 35 ClusteredReduce 240 34
242: 105(ptr) AccessChain 27(data) 237 51 30
243: 6(int) CompositeExtract 241 0
Store 242 243
244: 105(ptr) AccessChain 27(data) 237 51 34
245: 6(int) CompositeExtract 241 1
Store 244 245
246: 6(int) Load 8(invocation)
247: 112(ptr) AccessChain 27(data) 51 51
248: 21(ivec4) Load 247
249: 122(ivec3) VectorShuffle 248 248 0 1 2
250: 122(ivec3) GroupNonUniformIMul 35 ClusteredReduce 249 34
251: 105(ptr) AccessChain 27(data) 246 51 30
252: 6(int) CompositeExtract 250 0
Store 251 252
253: 105(ptr) AccessChain 27(data) 246 51 34
254: 6(int) CompositeExtract 250 1
Store 253 254
255: 105(ptr) AccessChain 27(data) 246 51 61
256: 6(int) CompositeExtract 250 2
Store 255 256
257: 6(int) Load 8(invocation)
258: 112(ptr) AccessChain 27(data) 65 51
259: 21(ivec4) Load 258
260: 21(ivec4) GroupNonUniformIMul 35 ClusteredReduce 259 34
261: 112(ptr) AccessChain 27(data) 257 51
Store 261 260
262: 6(int) Load 8(invocation)
263: 139(ptr) AccessChain 27(data) 29 65 30
264:22(float64_t) Load 263
265:22(float64_t) GroupNonUniformFMul 35 ClusteredReduce 264 34
266: 139(ptr) AccessChain 27(data) 262 65 30
Store 266 265
267: 6(int) Load 8(invocation)
268: 146(ptr) AccessChain 27(data) 39 65
269: 23(f64vec4) Load 268
270:145(f64vec2) VectorShuffle 269 269 0 1
271:145(f64vec2) GroupNonUniformFMul 35 ClusteredReduce 270 34
272: 139(ptr) AccessChain 27(data) 267 65 30
273:22(float64_t) CompositeExtract 271 0
Store 272 273
274: 139(ptr) AccessChain 27(data) 267 65 34
275:22(float64_t) CompositeExtract 271 1
Store 274 275
276: 6(int) Load 8(invocation)
277: 146(ptr) AccessChain 27(data) 51 65
278: 23(f64vec4) Load 277
279:156(f64vec3) VectorShuffle 278 278 0 1 2
280:156(f64vec3) GroupNonUniformFMul 35 ClusteredReduce 279 34
281: 139(ptr) AccessChain 27(data) 276 65 30
282:22(float64_t) CompositeExtract 280 0
Store 281 282
283: 139(ptr) AccessChain 27(data) 276 65 34
284:22(float64_t) CompositeExtract 280 1
Store 283 284
285: 139(ptr) AccessChain 27(data) 276 65 61
286:22(float64_t) CompositeExtract 280 2
Store 285 286
287: 6(int) Load 8(invocation)
288: 146(ptr) AccessChain 27(data) 65 65
289: 23(f64vec4) Load 288
290: 23(f64vec4) GroupNonUniformFMul 35 ClusteredReduce 289 34
291: 146(ptr) AccessChain 27(data) 287 65
Store 291 290
292: 6(int) Load 8(invocation)
293: 31(ptr) AccessChain 27(data) 29 29 30
294: 17(float) Load 293
295: 17(float) GroupNonUniformFMin 35 ClusteredReduce 294 34
296: 31(ptr) AccessChain 27(data) 292 29 30
Store 296 295
297: 6(int) Load 8(invocation)
298: 41(ptr) AccessChain 27(data) 39 29
299: 18(fvec4) Load 298
300: 40(fvec2) VectorShuffle 299 299 0 1
301: 40(fvec2) GroupNonUniformFMin 35 ClusteredReduce 300 34
302: 31(ptr) AccessChain 27(data) 297 29 30
303: 17(float) CompositeExtract 301 0
Store 302 303
304: 31(ptr) AccessChain 27(data) 297 29 34
305: 17(float) CompositeExtract 301 1
Store 304 305
306: 6(int) Load 8(invocation)
307: 41(ptr) AccessChain 27(data) 51 29
308: 18(fvec4) Load 307
309: 52(fvec3) VectorShuffle 308 308 0 1 2
310: 52(fvec3) GroupNonUniformFMin 35 ClusteredReduce 309 34
311: 31(ptr) AccessChain 27(data) 306 29 30
312: 17(float) CompositeExtract 310 0
Store 311 312
313: 31(ptr) AccessChain 27(data) 306 29 34
314: 17(float) CompositeExtract 310 1
Store 313 314
315: 31(ptr) AccessChain 27(data) 306 29 61
316: 17(float) CompositeExtract 310 2
Store 315 316
317: 6(int) Load 8(invocation)
318: 41(ptr) AccessChain 27(data) 65 29
319: 18(fvec4) Load 318
320: 18(fvec4) GroupNonUniformFMin 35 ClusteredReduce 319 34
321: 41(ptr) AccessChain 27(data) 317 29
Store 321 320
322: 6(int) Load 8(invocation)
323: 71(ptr) AccessChain 27(data) 29 39 30
324: 19(int) Load 323
325: 19(int) GroupNonUniformSMin 35 ClusteredReduce 324 34
326: 71(ptr) AccessChain 27(data) 322 39 30
Store 326 325
327: 6(int) Load 8(invocation)
328: 78(ptr) AccessChain 27(data) 39 39
329: 20(ivec4) Load 328
330: 77(ivec2) VectorShuffle 329 329 0 1
331: 77(ivec2) GroupNonUniformSMin 35 ClusteredReduce 330 34
332: 71(ptr) AccessChain 27(data) 327 39 30
333: 19(int) CompositeExtract 331 0
Store 332 333
334: 71(ptr) AccessChain 27(data) 327 39 34
335: 19(int) CompositeExtract 331 1
Store 334 335
336: 6(int) Load 8(invocation)
337: 78(ptr) AccessChain 27(data) 51 39
338: 20(ivec4) Load 337
339: 88(ivec3) VectorShuffle 338 338 0 1 2
340: 88(ivec3) GroupNonUniformSMin 35 ClusteredReduce 339 34
341: 71(ptr) AccessChain 27(data) 336 39 30
342: 19(int) CompositeExtract 340 0
Store 341 342
343: 71(ptr) AccessChain 27(data) 336 39 34
344: 19(int) CompositeExtract 340 1
Store 343 344
345: 71(ptr) AccessChain 27(data) 336 39 61
346: 19(int) CompositeExtract 340 2
Store 345 346
347: 6(int) Load 8(invocation)
348: 78(ptr) AccessChain 27(data) 65 39
349: 20(ivec4) Load 348
350: 20(ivec4) GroupNonUniformSMin 35 ClusteredReduce 349 34
351: 78(ptr) AccessChain 27(data) 347 39
Store 351 350
352: 6(int) Load 8(invocation)
353: 105(ptr) AccessChain 27(data) 29 51 30
354: 6(int) Load 353
355: 6(int) GroupNonUniformUMin 35 ClusteredReduce 354 34
356: 105(ptr) AccessChain 27(data) 352 51 30
Store 356 355
357: 6(int) Load 8(invocation)
358: 112(ptr) AccessChain 27(data) 39 51
359: 21(ivec4) Load 358
360: 111(ivec2) VectorShuffle 359 359 0 1
361: 111(ivec2) GroupNonUniformUMin 35 ClusteredReduce 360 34
362: 105(ptr) AccessChain 27(data) 357 51 30
363: 6(int) CompositeExtract 361 0
Store 362 363
364: 105(ptr) AccessChain 27(data) 357 51 34
365: 6(int) CompositeExtract 361 1
Store 364 365
366: 6(int) Load 8(invocation)
367: 112(ptr) AccessChain 27(data) 51 51
368: 21(ivec4) Load 367
369: 122(ivec3) VectorShuffle 368 368 0 1 2
370: 122(ivec3) GroupNonUniformUMin 35 ClusteredReduce 369 34
371: 105(ptr) AccessChain 27(data) 366 51 30
372: 6(int) CompositeExtract 370 0
Store 371 372
373: 105(ptr) AccessChain 27(data) 366 51 34
374: 6(int) CompositeExtract 370 1
Store 373 374
375: 105(ptr) AccessChain 27(data) 366 51 61
376: 6(int) CompositeExtract 370 2
Store 375 376
377: 6(int) Load 8(invocation)
378: 112(ptr) AccessChain 27(data) 65 51
379: 21(ivec4) Load 378
380: 21(ivec4) GroupNonUniformUMin 35 ClusteredReduce 379 34
381: 112(ptr) AccessChain 27(data) 377 51
Store 381 380
382: 6(int) Load 8(invocation)
383: 139(ptr) AccessChain 27(data) 29 65 30
384:22(float64_t) Load 383
385:22(float64_t) GroupNonUniformFMin 35 ClusteredReduce 384 34
386: 139(ptr) AccessChain 27(data) 382 65 30
Store 386 385
387: 6(int) Load 8(invocation)
388: 146(ptr) AccessChain 27(data) 39 65
389: 23(f64vec4) Load 388
390:145(f64vec2) VectorShuffle 389 389 0 1
391:145(f64vec2) GroupNonUniformFMin 35 ClusteredReduce 390 34
392: 139(ptr) AccessChain 27(data) 387 65 30
393:22(float64_t) CompositeExtract 391 0
Store 392 393
394: 139(ptr) AccessChain 27(data) 387 65 34
395:22(float64_t) CompositeExtract 391 1
Store 394 395
396: 6(int) Load 8(invocation)
397: 146(ptr) AccessChain 27(data) 51 65
398: 23(f64vec4) Load 397
399:156(f64vec3) VectorShuffle 398 398 0 1 2
400:156(f64vec3) GroupNonUniformFMin 35 ClusteredReduce 399 34
401: 139(ptr) AccessChain 27(data) 396 65 30
402:22(float64_t) CompositeExtract 400 0
Store 401 402
403: 139(ptr) AccessChain 27(data) 396 65 34
404:22(float64_t) CompositeExtract 400 1
Store 403 404
405: 139(ptr) AccessChain 27(data) 396 65 61
406:22(float64_t) CompositeExtract 400 2
Store 405 406
407: 6(int) Load 8(invocation)
408: 146(ptr) AccessChain 27(data) 65 65
409: 23(f64vec4) Load 408
410: 23(f64vec4) GroupNonUniformFMin 35 ClusteredReduce 409 34
411: 146(ptr) AccessChain 27(data) 407 65
Store 411 410
412: 6(int) Load 8(invocation)
413: 31(ptr) AccessChain 27(data) 29 29 30
414: 17(float) Load 413
415: 17(float) GroupNonUniformFMax 35 ClusteredReduce 414 34
416: 31(ptr) AccessChain 27(data) 412 29 30
Store 416 415
417: 6(int) Load 8(invocation)
418: 41(ptr) AccessChain 27(data) 39 29
419: 18(fvec4) Load 418
420: 40(fvec2) VectorShuffle 419 419 0 1
421: 40(fvec2) GroupNonUniformFMax 35 ClusteredReduce 420 34
422: 31(ptr) AccessChain 27(data) 417 29 30
423: 17(float) CompositeExtract 421 0
Store 422 423
424: 31(ptr) AccessChain 27(data) 417 29 34
425: 17(float) CompositeExtract 421 1
Store 424 425
426: 6(int) Load 8(invocation)
427: 41(ptr) AccessChain 27(data) 51 29
428: 18(fvec4) Load 427
429: 52(fvec3) VectorShuffle 428 428 0 1 2
430: 52(fvec3) GroupNonUniformFMax 35 ClusteredReduce 429 34
431: 31(ptr) AccessChain 27(data) 426 29 30
432: 17(float) CompositeExtract 430 0
Store 431 432
433: 31(ptr) AccessChain 27(data) 426 29 34
434: 17(float) CompositeExtract 430 1
Store 433 434
435: 31(ptr) AccessChain 27(data) 426 29 61
436: 17(float) CompositeExtract 430 2
Store 435 436
437: 6(int) Load 8(invocation)
438: 41(ptr) AccessChain 27(data) 65 29
439: 18(fvec4) Load 438
440: 18(fvec4) GroupNonUniformFMax 35 ClusteredReduce 439 34
441: 41(ptr) AccessChain 27(data) 437 29
Store 441 440
442: 6(int) Load 8(invocation)
443: 71(ptr) AccessChain 27(data) 29 39 30
444: 19(int) Load 443
445: 19(int) GroupNonUniformSMax 35 ClusteredReduce 444 34
446: 71(ptr) AccessChain 27(data) 442 39 30
Store 446 445
447: 6(int) Load 8(invocation)
448: 78(ptr) AccessChain 27(data) 39 39
449: 20(ivec4) Load 448
450: 77(ivec2) VectorShuffle 449 449 0 1
451: 77(ivec2) GroupNonUniformSMax 35 ClusteredReduce 450 34
452: 71(ptr) AccessChain 27(data) 447 39 30
453: 19(int) CompositeExtract 451 0
Store 452 453
454: 71(ptr) AccessChain 27(data) 447 39 34
455: 19(int) CompositeExtract 451 1
Store 454 455
456: 6(int) Load 8(invocation)
457: 78(ptr) AccessChain 27(data) 51 39
458: 20(ivec4) Load 457
459: 88(ivec3) VectorShuffle 458 458 0 1 2
460: 88(ivec3) GroupNonUniformSMax 35 ClusteredReduce 459 34
461: 71(ptr) AccessChain 27(data) 456 39 30
462: 19(int) CompositeExtract 460 0
Store 461 462
463: 71(ptr) AccessChain 27(data) 456 39 34
464: 19(int) CompositeExtract 460 1
Store 463 464
465: 71(ptr) AccessChain 27(data) 456 39 61
466: 19(int) CompositeExtract 460 2
Store 465 466
467: 6(int) Load 8(invocation)
468: 78(ptr) AccessChain 27(data) 65 39
469: 20(ivec4) Load 468
470: 20(ivec4) GroupNonUniformSMax 35 ClusteredReduce 469 34
471: 78(ptr) AccessChain 27(data) 467 39
Store 471 470
472: 6(int) Load 8(invocation)
473: 105(ptr) AccessChain 27(data) 29 51 30
474: 6(int) Load 473
475: 6(int) GroupNonUniformUMax 35 ClusteredReduce 474 34
476: 105(ptr) AccessChain 27(data) 472 51 30
Store 476 475
477: 6(int) Load 8(invocation)
478: 112(ptr) AccessChain 27(data) 39 51
479: 21(ivec4) Load 478
480: 111(ivec2) VectorShuffle 479 479 0 1
481: 111(ivec2) GroupNonUniformUMax 35 ClusteredReduce 480 34
482: 105(ptr) AccessChain 27(data) 477 51 30
483: 6(int) CompositeExtract 481 0
Store 482 483
484: 105(ptr) AccessChain 27(data) 477 51 34
485: 6(int) CompositeExtract 481 1
Store 484 485
486: 6(int) Load 8(invocation)
487: 112(ptr) AccessChain 27(data) 51 51
488: 21(ivec4) Load 487
489: 122(ivec3) VectorShuffle 488 488 0 1 2
490: 122(ivec3) GroupNonUniformUMax 35 ClusteredReduce 489 34
491: 105(ptr) AccessChain 27(data) 486 51 30
492: 6(int) CompositeExtract 490 0
Store 491 492
493: 105(ptr) AccessChain 27(data) 486 51 34
494: 6(int) CompositeExtract 490 1
Store 493 494
495: 105(ptr) AccessChain 27(data) 486 51 61
496: 6(int) CompositeExtract 490 2
Store 495 496
497: 6(int) Load 8(invocation)
498: 112(ptr) AccessChain 27(data) 65 51
499: 21(ivec4) Load 498
500: 21(ivec4) GroupNonUniformUMax 35 ClusteredReduce 499 34
501: 112(ptr) AccessChain 27(data) 497 51
Store 501 500
502: 6(int) Load 8(invocation)
503: 139(ptr) AccessChain 27(data) 29 65 30
504:22(float64_t) Load 503
505:22(float64_t) GroupNonUniformFMax 35 ClusteredReduce 504 34
506: 139(ptr) AccessChain 27(data) 502 65 30
Store 506 505
507: 6(int) Load 8(invocation)
508: 146(ptr) AccessChain 27(data) 39 65
509: 23(f64vec4) Load 508
510:145(f64vec2) VectorShuffle 509 509 0 1
511:145(f64vec2) GroupNonUniformFMax 35 ClusteredReduce 510 34
512: 139(ptr) AccessChain 27(data) 507 65 30
513:22(float64_t) CompositeExtract 511 0
Store 512 513
514: 139(ptr) AccessChain 27(data) 507 65 34
515:22(float64_t) CompositeExtract 511 1
Store 514 515
516: 6(int) Load 8(invocation)
517: 146(ptr) AccessChain 27(data) 51 65
518: 23(f64vec4) Load 517
519:156(f64vec3) VectorShuffle 518 518 0 1 2
520:156(f64vec3) GroupNonUniformFMax 35 ClusteredReduce 519 34
521: 139(ptr) AccessChain 27(data) 516 65 30
522:22(float64_t) CompositeExtract 520 0
Store 521 522
523: 139(ptr) AccessChain 27(data) 516 65 34
524:22(float64_t) CompositeExtract 520 1
Store 523 524
525: 139(ptr) AccessChain 27(data) 516 65 61
526:22(float64_t) CompositeExtract 520 2
Store 525 526
527: 6(int) Load 8(invocation)
528: 146(ptr) AccessChain 27(data) 65 65
529: 23(f64vec4) Load 528
530: 23(f64vec4) GroupNonUniformFMax 35 ClusteredReduce 529 34
531: 146(ptr) AccessChain 27(data) 527 65
Store 531 530
532: 6(int) Load 8(invocation)
533: 71(ptr) AccessChain 27(data) 29 39 30
534: 19(int) Load 533
535: 19(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 534 34
536: 71(ptr) AccessChain 27(data) 532 39 30
Store 536 535
537: 6(int) Load 8(invocation)
538: 78(ptr) AccessChain 27(data) 39 39
539: 20(ivec4) Load 538
540: 77(ivec2) VectorShuffle 539 539 0 1
541: 77(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 540 34
542: 71(ptr) AccessChain 27(data) 537 39 30
543: 19(int) CompositeExtract 541 0
Store 542 543
544: 71(ptr) AccessChain 27(data) 537 39 34
545: 19(int) CompositeExtract 541 1
Store 544 545
546: 6(int) Load 8(invocation)
547: 78(ptr) AccessChain 27(data) 51 39
548: 20(ivec4) Load 547
549: 88(ivec3) VectorShuffle 548 548 0 1 2
550: 88(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 549 34
551: 71(ptr) AccessChain 27(data) 546 39 30
552: 19(int) CompositeExtract 550 0
Store 551 552
553: 71(ptr) AccessChain 27(data) 546 39 34
554: 19(int) CompositeExtract 550 1
Store 553 554
555: 71(ptr) AccessChain 27(data) 546 39 61
556: 19(int) CompositeExtract 550 2
Store 555 556
557: 6(int) Load 8(invocation)
558: 78(ptr) AccessChain 27(data) 65 39
559: 20(ivec4) Load 558
560: 20(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 559 34
561: 78(ptr) AccessChain 27(data) 557 39
Store 561 560
562: 6(int) Load 8(invocation)
563: 105(ptr) AccessChain 27(data) 29 51 30
564: 6(int) Load 563
565: 6(int) GroupNonUniformBitwiseAnd 35 ClusteredReduce 564 34
566: 105(ptr) AccessChain 27(data) 562 51 30
Store 566 565
567: 6(int) Load 8(invocation)
568: 112(ptr) AccessChain 27(data) 39 51
569: 21(ivec4) Load 568
570: 111(ivec2) VectorShuffle 569 569 0 1
571: 111(ivec2) GroupNonUniformBitwiseAnd 35 ClusteredReduce 570 34
572: 105(ptr) AccessChain 27(data) 567 51 30
573: 6(int) CompositeExtract 571 0
Store 572 573
574: 105(ptr) AccessChain 27(data) 567 51 34
575: 6(int) CompositeExtract 571 1
Store 574 575
576: 6(int) Load 8(invocation)
577: 112(ptr) AccessChain 27(data) 51 51
578: 21(ivec4) Load 577
579: 122(ivec3) VectorShuffle 578 578 0 1 2
580: 122(ivec3) GroupNonUniformBitwiseAnd 35 ClusteredReduce 579 34
581: 105(ptr) AccessChain 27(data) 576 51 30
582: 6(int) CompositeExtract 580 0
Store 581 582
583: 105(ptr) AccessChain 27(data) 576 51 34
584: 6(int) CompositeExtract 580 1
Store 583 584
585: 105(ptr) AccessChain 27(data) 576 51 61
586: 6(int) CompositeExtract 580 2
Store 585 586
587: 6(int) Load 8(invocation)
588: 112(ptr) AccessChain 27(data) 65 51
589: 21(ivec4) Load 588
590: 21(ivec4) GroupNonUniformBitwiseAnd 35 ClusteredReduce 589 34
591: 112(ptr) AccessChain 27(data) 587 51
Store 591 590
592: 6(int) Load 8(invocation)
593: 71(ptr) AccessChain 27(data) 29 39 30
594: 19(int) Load 593
596: 595(bool) SLessThan 594 29
597: 595(bool) GroupNonUniformLogicalAnd 35 ClusteredReduce 596 34
598: 19(int) Select 597 39 29
599: 71(ptr) AccessChain 27(data) 592 39 30
Store 599 598
600: 6(int) Load 8(invocation)
601: 78(ptr) AccessChain 27(data) 39 39
602: 20(ivec4) Load 601
603: 77(ivec2) VectorShuffle 602 602 0 1
606: 605(bvec2) SLessThan 603 604
607: 605(bvec2) GroupNonUniformLogicalAnd 35 ClusteredReduce 606 34
609: 77(ivec2) Select 607 608 604
610: 71(ptr) AccessChain 27(data) 600 39 30
611: 19(int) CompositeExtract 609 0
Store 610 611
612: 71(ptr) AccessChain 27(data) 600 39 34
613: 19(int) CompositeExtract 609 1
Store 612 613
614: 6(int) Load 8(invocation)
615: 78(ptr) AccessChain 27(data) 39 39
616: 20(ivec4) Load 615
617: 88(ivec3) VectorShuffle 616 616 0 1 2
620: 619(bvec3) SLessThan 617 618
621: 619(bvec3) GroupNonUniformLogicalAnd 35 ClusteredReduce 620 34
623: 88(ivec3) Select 621 622 618
624: 71(ptr) AccessChain 27(data) 614 39 30
625: 19(int) CompositeExtract 623 0
Store 624 625
626: 71(ptr) AccessChain 27(data) 614 39 34
627: 19(int) CompositeExtract 623 1
Store 626 627
628: 71(ptr) AccessChain 27(data) 614 39 61
629: 19(int) CompositeExtract 623 2
Store 628 629
630: 6(int) Load 8(invocation)
631: 78(ptr) AccessChain 27(data) 39 39
632: 20(ivec4) Load 631
635: 634(bvec4) SLessThan 632 633
636: 634(bvec4) GroupNonUniformLogicalAnd 35 ClusteredReduce 635 34
638: 20(ivec4) Select 636 637 633
639: 78(ptr) AccessChain 27(data) 630 39
Store 639 638
640: 6(int) Load 8(invocation)
641: 71(ptr) AccessChain 27(data) 29 39 30
642: 19(int) Load 641
643: 19(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 642 34
644: 71(ptr) AccessChain 27(data) 640 39 30
Store 644 643
645: 6(int) Load 8(invocation)
646: 78(ptr) AccessChain 27(data) 39 39
647: 20(ivec4) Load 646
648: 77(ivec2) VectorShuffle 647 647 0 1
649: 77(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 648 34
650: 71(ptr) AccessChain 27(data) 645 39 30
651: 19(int) CompositeExtract 649 0
Store 650 651
652: 71(ptr) AccessChain 27(data) 645 39 34
653: 19(int) CompositeExtract 649 1
Store 652 653
654: 6(int) Load 8(invocation)
655: 78(ptr) AccessChain 27(data) 51 39
656: 20(ivec4) Load 655
657: 88(ivec3) VectorShuffle 656 656 0 1 2
658: 88(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 657 34
659: 71(ptr) AccessChain 27(data) 654 39 30
660: 19(int) CompositeExtract 658 0
Store 659 660
661: 71(ptr) AccessChain 27(data) 654 39 34
662: 19(int) CompositeExtract 658 1
Store 661 662
663: 71(ptr) AccessChain 27(data) 654 39 61
664: 19(int) CompositeExtract 658 2
Store 663 664
665: 6(int) Load 8(invocation)
666: 78(ptr) AccessChain 27(data) 65 39
667: 20(ivec4) Load 666
668: 20(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 667 34
669: 78(ptr) AccessChain 27(data) 665 39
Store 669 668
670: 6(int) Load 8(invocation)
671: 105(ptr) AccessChain 27(data) 29 51 30
672: 6(int) Load 671
673: 6(int) GroupNonUniformBitwiseOr 35 ClusteredReduce 672 34
674: 105(ptr) AccessChain 27(data) 670 51 30
Store 674 673
675: 6(int) Load 8(invocation)
676: 112(ptr) AccessChain 27(data) 39 51
677: 21(ivec4) Load 676
678: 111(ivec2) VectorShuffle 677 677 0 1
679: 111(ivec2) GroupNonUniformBitwiseOr 35 ClusteredReduce 678 34
680: 105(ptr) AccessChain 27(data) 675 51 30
681: 6(int) CompositeExtract 679 0
Store 680 681
682: 105(ptr) AccessChain 27(data) 675 51 34
683: 6(int) CompositeExtract 679 1
Store 682 683
684: 6(int) Load 8(invocation)
685: 112(ptr) AccessChain 27(data) 51 51
686: 21(ivec4) Load 685
687: 122(ivec3) VectorShuffle 686 686 0 1 2
688: 122(ivec3) GroupNonUniformBitwiseOr 35 ClusteredReduce 687 34
689: 105(ptr) AccessChain 27(data) 684 51 30
690: 6(int) CompositeExtract 688 0
Store 689 690
691: 105(ptr) AccessChain 27(data) 684 51 34
692: 6(int) CompositeExtract 688 1
Store 691 692
693: 105(ptr) AccessChain 27(data) 684 51 61
694: 6(int) CompositeExtract 688 2
Store 693 694
695: 6(int) Load 8(invocation)
696: 112(ptr) AccessChain 27(data) 65 51
697: 21(ivec4) Load 696
698: 21(ivec4) GroupNonUniformBitwiseOr 35 ClusteredReduce 697 34
699: 112(ptr) AccessChain 27(data) 695 51
Store 699 698
700: 6(int) Load 8(invocation)
701: 71(ptr) AccessChain 27(data) 29 39 30
702: 19(int) Load 701
703: 595(bool) SLessThan 702 29
704: 595(bool) GroupNonUniformLogicalOr 35 ClusteredReduce 703 34
705: 19(int) Select 704 39 29
706: 71(ptr) AccessChain 27(data) 700 39 30
Store 706 705
707: 6(int) Load 8(invocation)
708: 78(ptr) AccessChain 27(data) 39 39
709: 20(ivec4) Load 708
710: 77(ivec2) VectorShuffle 709 709 0 1
711: 605(bvec2) SLessThan 710 604
712: 605(bvec2) GroupNonUniformLogicalOr 35 ClusteredReduce 711 34
713: 77(ivec2) Select 712 608 604
714: 71(ptr) AccessChain 27(data) 707 39 30
715: 19(int) CompositeExtract 713 0
Store 714 715
716: 71(ptr) AccessChain 27(data) 707 39 34
717: 19(int) CompositeExtract 713 1
Store 716 717
718: 6(int) Load 8(invocation)
719: 78(ptr) AccessChain 27(data) 39 39
720: 20(ivec4) Load 719
721: 88(ivec3) VectorShuffle 720 720 0 1 2
722: 619(bvec3) SLessThan 721 618
723: 619(bvec3) GroupNonUniformLogicalOr 35 ClusteredReduce 722 34
724: 88(ivec3) Select 723 622 618
725: 71(ptr) AccessChain 27(data) 718 39 30
726: 19(int) CompositeExtract 724 0
Store 725 726
727: 71(ptr) AccessChain 27(data) 718 39 34
728: 19(int) CompositeExtract 724 1
Store 727 728
729: 71(ptr) AccessChain 27(data) 718 39 61
730: 19(int) CompositeExtract 724 2
Store 729 730
731: 6(int) Load 8(invocation)
732: 78(ptr) AccessChain 27(data) 39 39
733: 20(ivec4) Load 732
734: 634(bvec4) SLessThan 733 633
735: 634(bvec4) GroupNonUniformLogicalOr 35 ClusteredReduce 734 34
736: 20(ivec4) Select 735 637 633
737: 78(ptr) AccessChain 27(data) 731 39
Store 737 736
738: 6(int) Load 8(invocation)
739: 71(ptr) AccessChain 27(data) 29 39 30
740: 19(int) Load 739
741: 19(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 740 34
742: 71(ptr) AccessChain 27(data) 738 39 30
Store 742 741
743: 6(int) Load 8(invocation)
744: 78(ptr) AccessChain 27(data) 39 39
745: 20(ivec4) Load 744
746: 77(ivec2) VectorShuffle 745 745 0 1
747: 77(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 746 34
748: 71(ptr) AccessChain 27(data) 743 39 30
749: 19(int) CompositeExtract 747 0
Store 748 749
750: 71(ptr) AccessChain 27(data) 743 39 34
751: 19(int) CompositeExtract 747 1
Store 750 751
752: 6(int) Load 8(invocation)
753: 78(ptr) AccessChain 27(data) 51 39
754: 20(ivec4) Load 753
755: 88(ivec3) VectorShuffle 754 754 0 1 2
756: 88(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 755 34
757: 71(ptr) AccessChain 27(data) 752 39 30
758: 19(int) CompositeExtract 756 0
Store 757 758
759: 71(ptr) AccessChain 27(data) 752 39 34
760: 19(int) CompositeExtract 756 1
Store 759 760
761: 71(ptr) AccessChain 27(data) 752 39 61
762: 19(int) CompositeExtract 756 2
Store 761 762
763: 6(int) Load 8(invocation)
764: 78(ptr) AccessChain 27(data) 65 39
765: 20(ivec4) Load 764
766: 20(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 765 34
767: 78(ptr) AccessChain 27(data) 763 39
Store 767 766
768: 6(int) Load 8(invocation)
769: 105(ptr) AccessChain 27(data) 29 51 30
770: 6(int) Load 769
771: 6(int) GroupNonUniformBitwiseXor 35 ClusteredReduce 770 34
772: 105(ptr) AccessChain 27(data) 768 51 30
Store 772 771
773: 6(int) Load 8(invocation)
774: 112(ptr) AccessChain 27(data) 39 51
775: 21(ivec4) Load 774
776: 111(ivec2) VectorShuffle 775 775 0 1
777: 111(ivec2) GroupNonUniformBitwiseXor 35 ClusteredReduce 776 34
778: 105(ptr) AccessChain 27(data) 773 51 30
779: 6(int) CompositeExtract 777 0
Store 778 779
780: 105(ptr) AccessChain 27(data) 773 51 34
781: 6(int) CompositeExtract 777 1
Store 780 781
782: 6(int) Load 8(invocation)
783: 112(ptr) AccessChain 27(data) 51 51
784: 21(ivec4) Load 783
785: 122(ivec3) VectorShuffle 784 784 0 1 2
786: 122(ivec3) GroupNonUniformBitwiseXor 35 ClusteredReduce 785 34
787: 105(ptr) AccessChain 27(data) 782 51 30
788: 6(int) CompositeExtract 786 0
Store 787 788
789: 105(ptr) AccessChain 27(data) 782 51 34
790: 6(int) CompositeExtract 786 1
Store 789 790
791: 105(ptr) AccessChain 27(data) 782 51 61
792: 6(int) CompositeExtract 786 2
Store 791 792
793: 6(int) Load 8(invocation)
794: 112(ptr) AccessChain 27(data) 65 51
795: 21(ivec4) Load 794
796: 21(ivec4) GroupNonUniformBitwiseXor 35 ClusteredReduce 795 34
797: 112(ptr) AccessChain 27(data) 793 51
Store 797 796
798: 6(int) Load 8(invocation)
799: 71(ptr) AccessChain 27(data) 29 39 30
800: 19(int) Load 799
801: 595(bool) SLessThan 800 29
802: 595(bool) GroupNonUniformLogicalXor 35 ClusteredReduce 801 34
803: 19(int) Select 802 39 29
804: 71(ptr) AccessChain 27(data) 798 39 30
Store 804 803
805: 6(int) Load 8(invocation)
806: 78(ptr) AccessChain 27(data) 39 39
807: 20(ivec4) Load 806
808: 77(ivec2) VectorShuffle 807 807 0 1
809: 605(bvec2) SLessThan 808 604
810: 605(bvec2) GroupNonUniformLogicalXor 35 ClusteredReduce 809 34
811: 77(ivec2) Select 810 608 604
812: 71(ptr) AccessChain 27(data) 805 39 30
813: 19(int) CompositeExtract 811 0
Store 812 813
814: 71(ptr) AccessChain 27(data) 805 39 34
815: 19(int) CompositeExtract 811 1
Store 814 815
816: 6(int) Load 8(invocation)
817: 78(ptr) AccessChain 27(data) 39 39
818: 20(ivec4) Load 817
819: 88(ivec3) VectorShuffle 818 818 0 1 2
820: 619(bvec3) SLessThan 819 618
821: 619(bvec3) GroupNonUniformLogicalXor 35 ClusteredReduce 820 34
822: 88(ivec3) Select 821 622 618
823: 71(ptr) AccessChain 27(data) 816 39 30
824: 19(int) CompositeExtract 822 0
Store 823 824
825: 71(ptr) AccessChain 27(data) 816 39 34
826: 19(int) CompositeExtract 822 1
Store 825 826
827: 71(ptr) AccessChain 27(data) 816 39 61
828: 19(int) CompositeExtract 822 2
Store 827 828
829: 6(int) Load 8(invocation)
830: 78(ptr) AccessChain 27(data) 39 39
831: 20(ivec4) Load 830
832: 634(bvec4) SLessThan 831 633
833: 634(bvec4) GroupNonUniformLogicalXor 35 ClusteredReduce 832 34
834: 20(ivec4) Select 833 637 633
835: 78(ptr) AccessChain 27(data) 829 39
Store 835 834
Return
FunctionEnd