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