Commit a53199a2 by Jeff Bolz Committed by Neil Henning

Support Partitioned subgroup builtin functions with extended types

Also refactor the generation of those builtin functions programmatically combine names and types.
parent abebd025
spv.subgroupExtendedTypesPartitioned.comp
Validation failed
// Module Version 10300
// Generated by (magic number): 80007
// Id's are bound by 1558
Capability Shader
Capability Float16
Capability Int64
Capability Int16
Capability Int8
Capability GroupNonUniform
Capability StorageUniformBufferBlock16
Capability CapabilityStorageBuffer8BitAccess
Capability GroupNonUniformPartitionedNV
Extension "SPV_KHR_8bit_storage"
Extension "SPV_NV_shader_subgroup_partitioned"
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_EXT_shader_explicit_arithmetic_types_float16"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int16"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int64"
SourceExtension "GL_EXT_shader_explicit_arithmetic_types_int8"
SourceExtension "GL_EXT_shader_subgroup_extended_types_float16"
SourceExtension "GL_EXT_shader_subgroup_extended_types_int16"
SourceExtension "GL_EXT_shader_subgroup_extended_types_int64"
SourceExtension "GL_EXT_shader_subgroup_extended_types_int8"
SourceExtension "GL_KHR_shader_subgroup_basic"
SourceExtension "GL_NV_shader_subgroup_partitioned"
Name 4 "main"
Name 8 "invocation"
Name 10 "gl_SubgroupInvocationID"
Name 12 "gl_SubgroupSize"
Name 19 "ballot"
Name 34 "Buffers"
MemberName 34(Buffers) 0 "i8"
MemberName 34(Buffers) 1 "u8"
MemberName 34(Buffers) 2 "i16"
MemberName 34(Buffers) 3 "u16"
MemberName 34(Buffers) 4 "i64"
MemberName 34(Buffers) 5 "u64"
MemberName 34(Buffers) 6 "f16"
Name 37 "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 34(Buffers) 0 Offset 0
MemberDecorate 34(Buffers) 1 Offset 4
MemberDecorate 34(Buffers) 2 Offset 8
MemberDecorate 34(Buffers) 3 Offset 16
MemberDecorate 34(Buffers) 4 Offset 32
MemberDecorate 34(Buffers) 5 Offset 64
MemberDecorate 34(Buffers) 6 Offset 96
Decorate 34(Buffers) Block
Decorate 37(data) DescriptorSet 0
Decorate 37(data) Binding 0
Decorate 1557 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: TypeVector 6(int) 4
18: TypePointer Function 17(ivec4)
20: TypeInt 8 1
21: TypeVector 20(int8_t) 4
22: TypeInt 8 0
23: TypeVector 22(int8_t) 4
24: TypeInt 16 1
25: TypeVector 24(int16_t) 4
26: TypeInt 16 0
27: TypeVector 26(int16_t) 4
28: TypeInt 64 1
29: TypeVector 28(int64_t) 4
30: TypeInt 64 0
31: TypeVector 30(int64_t) 4
32: TypeFloat 16
33: TypeVector 32(float16_t) 4
34(Buffers): TypeStruct 21(i8vec4) 23(i8vec4) 25(i16vec4) 27(i16vec4) 29(i64vec4) 31(i64vec4) 33(f16vec4)
35: TypeArray 34(Buffers) 15
36: TypePointer StorageBuffer 35
37(data): 36(ptr) Variable StorageBuffer
38: TypeInt 32 1
39: 38(int) Constant 0
40: 6(int) Constant 0
41: TypePointer StorageBuffer 20(int8_t)
45: 38(int) Constant 1
46: TypeVector 20(int8_t) 2
47: TypePointer StorageBuffer 21(i8vec4)
52: 38(int) Constant 2
53: TypeVector 20(int8_t) 3
58: 38(int) Constant 3
62: TypePointer StorageBuffer 22(int8_t)
66: TypeVector 22(int8_t) 2
67: TypePointer StorageBuffer 23(i8vec4)
72: TypeVector 22(int8_t) 3
80: TypePointer StorageBuffer 24(int16_t)
84: TypeVector 24(int16_t) 2
85: TypePointer StorageBuffer 25(i16vec4)
90: TypeVector 24(int16_t) 3
98: TypePointer StorageBuffer 26(int16_t)
102: TypeVector 26(int16_t) 2
103: TypePointer StorageBuffer 27(i16vec4)
108: TypeVector 26(int16_t) 3
116: 38(int) Constant 4
117: TypePointer StorageBuffer 28(int64_t)
121: TypeVector 28(int64_t) 2
122: TypePointer StorageBuffer 29(i64vec4)
127: TypeVector 28(int64_t) 3
135: 38(int) Constant 5
136: TypePointer StorageBuffer 30(int64_t)
140: TypeVector 30(int64_t) 2
141: TypePointer StorageBuffer 31(i64vec4)
146: TypeVector 30(int64_t) 3
154: 38(int) Constant 6
155: TypePointer StorageBuffer 32(float16_t)
159: TypeVector 32(float16_t) 2
160: TypePointer StorageBuffer 33(f16vec4)
165: TypeVector 32(float16_t) 3
177: 6(int) Constant 3
1554: TypeVector 6(int) 3
1555: 6(int) Constant 8
1556: 6(int) Constant 1
1557: 1554(ivec3) ConstantComposite 1555 1556 1556
4(main): 2 Function None 3
5: Label
8(invocation): 7(ptr) Variable Function
19(ballot): 18(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
42: 41(ptr) AccessChain 37(data) 39 39 40
43: 20(int8_t) Load 42
44: 17(ivec4) GroupNonUniformPartitionNV 43
Store 19(ballot) 44
48: 47(ptr) AccessChain 37(data) 45 39
49: 21(i8vec4) Load 48
50: 46(i8vec2) VectorShuffle 49 49 0 1
51: 17(ivec4) GroupNonUniformPartitionNV 50
Store 19(ballot) 51
54: 47(ptr) AccessChain 37(data) 52 39
55: 21(i8vec4) Load 54
56: 53(i8vec3) VectorShuffle 55 55 0 1 2
57: 17(ivec4) GroupNonUniformPartitionNV 56
Store 19(ballot) 57
59: 47(ptr) AccessChain 37(data) 58 39
60: 21(i8vec4) Load 59
61: 17(ivec4) GroupNonUniformPartitionNV 60
Store 19(ballot) 61
63: 62(ptr) AccessChain 37(data) 39 45 40
64: 22(int8_t) Load 63
65: 17(ivec4) GroupNonUniformPartitionNV 64
Store 19(ballot) 65
68: 67(ptr) AccessChain 37(data) 45 45
69: 23(i8vec4) Load 68
70: 66(i8vec2) VectorShuffle 69 69 0 1
71: 17(ivec4) GroupNonUniformPartitionNV 70
Store 19(ballot) 71
73: 67(ptr) AccessChain 37(data) 52 45
74: 23(i8vec4) Load 73
75: 72(i8vec3) VectorShuffle 74 74 0 1 2
76: 17(ivec4) GroupNonUniformPartitionNV 75
Store 19(ballot) 76
77: 67(ptr) AccessChain 37(data) 58 45
78: 23(i8vec4) Load 77
79: 17(ivec4) GroupNonUniformPartitionNV 78
Store 19(ballot) 79
81: 80(ptr) AccessChain 37(data) 39 52 40
82: 24(int16_t) Load 81
83: 17(ivec4) GroupNonUniformPartitionNV 82
Store 19(ballot) 83
86: 85(ptr) AccessChain 37(data) 45 52
87: 25(i16vec4) Load 86
88: 84(i16vec2) VectorShuffle 87 87 0 1
89: 17(ivec4) GroupNonUniformPartitionNV 88
Store 19(ballot) 89
91: 85(ptr) AccessChain 37(data) 52 52
92: 25(i16vec4) Load 91
93: 90(i16vec3) VectorShuffle 92 92 0 1 2
94: 17(ivec4) GroupNonUniformPartitionNV 93
Store 19(ballot) 94
95: 85(ptr) AccessChain 37(data) 58 52
96: 25(i16vec4) Load 95
97: 17(ivec4) GroupNonUniformPartitionNV 96
Store 19(ballot) 97
99: 98(ptr) AccessChain 37(data) 39 58 40
100: 26(int16_t) Load 99
101: 17(ivec4) GroupNonUniformPartitionNV 100
Store 19(ballot) 101
104: 103(ptr) AccessChain 37(data) 45 58
105: 27(i16vec4) Load 104
106:102(i16vec2) VectorShuffle 105 105 0 1
107: 17(ivec4) GroupNonUniformPartitionNV 106
Store 19(ballot) 107
109: 103(ptr) AccessChain 37(data) 52 58
110: 27(i16vec4) Load 109
111:108(i16vec3) VectorShuffle 110 110 0 1 2
112: 17(ivec4) GroupNonUniformPartitionNV 111
Store 19(ballot) 112
113: 103(ptr) AccessChain 37(data) 58 58
114: 27(i16vec4) Load 113
115: 17(ivec4) GroupNonUniformPartitionNV 114
Store 19(ballot) 115
118: 117(ptr) AccessChain 37(data) 39 116 40
119: 28(int64_t) Load 118
120: 17(ivec4) GroupNonUniformPartitionNV 119
Store 19(ballot) 120
123: 122(ptr) AccessChain 37(data) 45 116
124: 29(i64vec4) Load 123
125:121(i64vec2) VectorShuffle 124 124 0 1
126: 17(ivec4) GroupNonUniformPartitionNV 125
Store 19(ballot) 126
128: 122(ptr) AccessChain 37(data) 52 116
129: 29(i64vec4) Load 128
130:127(i64vec3) VectorShuffle 129 129 0 1 2
131: 17(ivec4) GroupNonUniformPartitionNV 130
Store 19(ballot) 131
132: 122(ptr) AccessChain 37(data) 58 116
133: 29(i64vec4) Load 132
134: 17(ivec4) GroupNonUniformPartitionNV 133
Store 19(ballot) 134
137: 136(ptr) AccessChain 37(data) 39 135 40
138: 30(int64_t) Load 137
139: 17(ivec4) GroupNonUniformPartitionNV 138
Store 19(ballot) 139
142: 141(ptr) AccessChain 37(data) 45 135
143: 31(i64vec4) Load 142
144:140(i64vec2) VectorShuffle 143 143 0 1
145: 17(ivec4) GroupNonUniformPartitionNV 144
Store 19(ballot) 145
147: 141(ptr) AccessChain 37(data) 52 135
148: 31(i64vec4) Load 147
149:146(i64vec3) VectorShuffle 148 148 0 1 2
150: 17(ivec4) GroupNonUniformPartitionNV 149
Store 19(ballot) 150
151: 141(ptr) AccessChain 37(data) 58 135
152: 31(i64vec4) Load 151
153: 17(ivec4) GroupNonUniformPartitionNV 152
Store 19(ballot) 153
156: 155(ptr) AccessChain 37(data) 39 154 40
157:32(float16_t) Load 156
158: 17(ivec4) GroupNonUniformPartitionNV 157
Store 19(ballot) 158
161: 160(ptr) AccessChain 37(data) 45 154
162: 33(f16vec4) Load 161
163:159(f16vec2) VectorShuffle 162 162 0 1
164: 17(ivec4) GroupNonUniformPartitionNV 163
Store 19(ballot) 164
166: 160(ptr) AccessChain 37(data) 52 154
167: 33(f16vec4) Load 166
168:165(f16vec3) VectorShuffle 167 167 0 1 2
169: 17(ivec4) GroupNonUniformPartitionNV 168
Store 19(ballot) 169
170: 160(ptr) AccessChain 37(data) 58 154
171: 33(f16vec4) Load 170
172: 17(ivec4) GroupNonUniformPartitionNV 171
Store 19(ballot) 172
173: 6(int) Load 8(invocation)
174: 41(ptr) AccessChain 37(data) 39 39 40
175: 20(int8_t) Load 174
176: 17(ivec4) Load 19(ballot)
178: 20(int8_t) GroupNonUniformIAdd 177 PartitionedReduceNV 175 176
179: 41(ptr) AccessChain 37(data) 173 39 40
Store 179 178
180: 6(int) Load 8(invocation)
181: 47(ptr) AccessChain 37(data) 45 39
182: 21(i8vec4) Load 181
183: 46(i8vec2) VectorShuffle 182 182 0 1
184: 17(ivec4) Load 19(ballot)
185: 46(i8vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 183 184
186: 47(ptr) AccessChain 37(data) 180 39
187: 21(i8vec4) Load 186
188: 21(i8vec4) VectorShuffle 187 185 4 5 2 3
Store 186 188
189: 6(int) Load 8(invocation)
190: 47(ptr) AccessChain 37(data) 52 39
191: 21(i8vec4) Load 190
192: 53(i8vec3) VectorShuffle 191 191 0 1 2
193: 17(ivec4) Load 19(ballot)
194: 53(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 192 193
195: 47(ptr) AccessChain 37(data) 189 39
196: 21(i8vec4) Load 195
197: 21(i8vec4) VectorShuffle 196 194 4 5 6 3
Store 195 197
198: 6(int) Load 8(invocation)
199: 47(ptr) AccessChain 37(data) 58 39
200: 21(i8vec4) Load 199
201: 17(ivec4) Load 19(ballot)
202: 21(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 200 201
203: 47(ptr) AccessChain 37(data) 198 39
Store 203 202
204: 6(int) Load 8(invocation)
205: 41(ptr) AccessChain 37(data) 39 39 40
206: 20(int8_t) Load 205
207: 17(ivec4) Load 19(ballot)
208: 20(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 206 207
209: 41(ptr) AccessChain 37(data) 204 39 40
Store 209 208
210: 6(int) Load 8(invocation)
211: 47(ptr) AccessChain 37(data) 45 39
212: 21(i8vec4) Load 211
213: 46(i8vec2) VectorShuffle 212 212 0 1
214: 17(ivec4) Load 19(ballot)
215: 46(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 213 214
216: 47(ptr) AccessChain 37(data) 210 39
217: 21(i8vec4) Load 216
218: 21(i8vec4) VectorShuffle 217 215 4 5 2 3
Store 216 218
219: 6(int) Load 8(invocation)
220: 47(ptr) AccessChain 37(data) 52 39
221: 21(i8vec4) Load 220
222: 53(i8vec3) VectorShuffle 221 221 0 1 2
223: 17(ivec4) Load 19(ballot)
224: 53(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 222 223
225: 47(ptr) AccessChain 37(data) 219 39
226: 21(i8vec4) Load 225
227: 21(i8vec4) VectorShuffle 226 224 4 5 6 3
Store 225 227
228: 6(int) Load 8(invocation)
229: 47(ptr) AccessChain 37(data) 58 39
230: 21(i8vec4) Load 229
231: 17(ivec4) Load 19(ballot)
232: 21(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 230 231
233: 47(ptr) AccessChain 37(data) 228 39
Store 233 232
234: 6(int) Load 8(invocation)
235: 41(ptr) AccessChain 37(data) 39 39 40
236: 20(int8_t) Load 235
237: 17(ivec4) Load 19(ballot)
238: 20(int8_t) GroupNonUniformSMin 177 PartitionedReduceNV 236 237
239: 41(ptr) AccessChain 37(data) 234 39 40
Store 239 238
240: 6(int) Load 8(invocation)
241: 47(ptr) AccessChain 37(data) 45 39
242: 21(i8vec4) Load 241
243: 46(i8vec2) VectorShuffle 242 242 0 1
244: 17(ivec4) Load 19(ballot)
245: 46(i8vec2) GroupNonUniformSMin 177 PartitionedReduceNV 243 244
246: 47(ptr) AccessChain 37(data) 240 39
247: 21(i8vec4) Load 246
248: 21(i8vec4) VectorShuffle 247 245 4 5 2 3
Store 246 248
249: 6(int) Load 8(invocation)
250: 47(ptr) AccessChain 37(data) 52 39
251: 21(i8vec4) Load 250
252: 53(i8vec3) VectorShuffle 251 251 0 1 2
253: 17(ivec4) Load 19(ballot)
254: 53(i8vec3) GroupNonUniformSMin 177 PartitionedReduceNV 252 253
255: 47(ptr) AccessChain 37(data) 249 39
256: 21(i8vec4) Load 255
257: 21(i8vec4) VectorShuffle 256 254 4 5 6 3
Store 255 257
258: 6(int) Load 8(invocation)
259: 47(ptr) AccessChain 37(data) 58 39
260: 21(i8vec4) Load 259
261: 17(ivec4) Load 19(ballot)
262: 21(i8vec4) GroupNonUniformSMin 177 PartitionedReduceNV 260 261
263: 47(ptr) AccessChain 37(data) 258 39
Store 263 262
264: 6(int) Load 8(invocation)
265: 41(ptr) AccessChain 37(data) 39 39 40
266: 20(int8_t) Load 265
267: 17(ivec4) Load 19(ballot)
268: 20(int8_t) GroupNonUniformSMax 177 PartitionedReduceNV 266 267
269: 41(ptr) AccessChain 37(data) 264 39 40
Store 269 268
270: 6(int) Load 8(invocation)
271: 47(ptr) AccessChain 37(data) 45 39
272: 21(i8vec4) Load 271
273: 46(i8vec2) VectorShuffle 272 272 0 1
274: 17(ivec4) Load 19(ballot)
275: 46(i8vec2) GroupNonUniformSMax 177 PartitionedReduceNV 273 274
276: 47(ptr) AccessChain 37(data) 270 39
277: 21(i8vec4) Load 276
278: 21(i8vec4) VectorShuffle 277 275 4 5 2 3
Store 276 278
279: 6(int) Load 8(invocation)
280: 47(ptr) AccessChain 37(data) 52 39
281: 21(i8vec4) Load 280
282: 53(i8vec3) VectorShuffle 281 281 0 1 2
283: 17(ivec4) Load 19(ballot)
284: 53(i8vec3) GroupNonUniformSMax 177 PartitionedReduceNV 282 283
285: 47(ptr) AccessChain 37(data) 279 39
286: 21(i8vec4) Load 285
287: 21(i8vec4) VectorShuffle 286 284 4 5 6 3
Store 285 287
288: 6(int) Load 8(invocation)
289: 47(ptr) AccessChain 37(data) 58 39
290: 21(i8vec4) Load 289
291: 17(ivec4) Load 19(ballot)
292: 21(i8vec4) GroupNonUniformSMax 177 PartitionedReduceNV 290 291
293: 47(ptr) AccessChain 37(data) 288 39
Store 293 292
294: 6(int) Load 8(invocation)
295: 41(ptr) AccessChain 37(data) 39 39 40
296: 20(int8_t) Load 295
297: 17(ivec4) Load 19(ballot)
298: 20(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 296 297
299: 41(ptr) AccessChain 37(data) 294 39 40
Store 299 298
300: 6(int) Load 8(invocation)
301: 47(ptr) AccessChain 37(data) 45 39
302: 21(i8vec4) Load 301
303: 46(i8vec2) VectorShuffle 302 302 0 1
304: 17(ivec4) Load 19(ballot)
305: 46(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 303 304
306: 47(ptr) AccessChain 37(data) 300 39
307: 21(i8vec4) Load 306
308: 21(i8vec4) VectorShuffle 307 305 4 5 2 3
Store 306 308
309: 6(int) Load 8(invocation)
310: 47(ptr) AccessChain 37(data) 52 39
311: 21(i8vec4) Load 310
312: 53(i8vec3) VectorShuffle 311 311 0 1 2
313: 17(ivec4) Load 19(ballot)
314: 53(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 312 313
315: 47(ptr) AccessChain 37(data) 309 39
316: 21(i8vec4) Load 315
317: 21(i8vec4) VectorShuffle 316 314 4 5 6 3
Store 315 317
318: 6(int) Load 8(invocation)
319: 47(ptr) AccessChain 37(data) 58 39
320: 21(i8vec4) Load 319
321: 17(ivec4) Load 19(ballot)
322: 21(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 320 321
323: 47(ptr) AccessChain 37(data) 318 39
Store 323 322
324: 6(int) Load 8(invocation)
325: 41(ptr) AccessChain 37(data) 39 39 40
326: 20(int8_t) Load 325
327: 17(ivec4) Load 19(ballot)
328: 20(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 326 327
329: 41(ptr) AccessChain 37(data) 324 39 40
Store 329 328
330: 6(int) Load 8(invocation)
331: 47(ptr) AccessChain 37(data) 45 39
332: 21(i8vec4) Load 331
333: 46(i8vec2) VectorShuffle 332 332 0 1
334: 17(ivec4) Load 19(ballot)
335: 46(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 333 334
336: 47(ptr) AccessChain 37(data) 330 39
337: 21(i8vec4) Load 336
338: 21(i8vec4) VectorShuffle 337 335 4 5 2 3
Store 336 338
339: 6(int) Load 8(invocation)
340: 47(ptr) AccessChain 37(data) 52 39
341: 21(i8vec4) Load 340
342: 53(i8vec3) VectorShuffle 341 341 0 1 2
343: 17(ivec4) Load 19(ballot)
344: 53(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 342 343
345: 47(ptr) AccessChain 37(data) 339 39
346: 21(i8vec4) Load 345
347: 21(i8vec4) VectorShuffle 346 344 4 5 6 3
Store 345 347
348: 6(int) Load 8(invocation)
349: 47(ptr) AccessChain 37(data) 58 39
350: 21(i8vec4) Load 349
351: 17(ivec4) Load 19(ballot)
352: 21(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 350 351
353: 47(ptr) AccessChain 37(data) 348 39
Store 353 352
354: 6(int) Load 8(invocation)
355: 41(ptr) AccessChain 37(data) 39 39 40
356: 20(int8_t) Load 355
357: 17(ivec4) Load 19(ballot)
358: 20(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 356 357
359: 41(ptr) AccessChain 37(data) 354 39 40
Store 359 358
360: 6(int) Load 8(invocation)
361: 47(ptr) AccessChain 37(data) 45 39
362: 21(i8vec4) Load 361
363: 46(i8vec2) VectorShuffle 362 362 0 1
364: 17(ivec4) Load 19(ballot)
365: 46(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 363 364
366: 47(ptr) AccessChain 37(data) 360 39
367: 21(i8vec4) Load 366
368: 21(i8vec4) VectorShuffle 367 365 4 5 2 3
Store 366 368
369: 6(int) Load 8(invocation)
370: 47(ptr) AccessChain 37(data) 52 39
371: 21(i8vec4) Load 370
372: 53(i8vec3) VectorShuffle 371 371 0 1 2
373: 17(ivec4) Load 19(ballot)
374: 53(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 372 373
375: 47(ptr) AccessChain 37(data) 369 39
376: 21(i8vec4) Load 375
377: 21(i8vec4) VectorShuffle 376 374 4 5 6 3
Store 375 377
378: 6(int) Load 8(invocation)
379: 47(ptr) AccessChain 37(data) 58 39
380: 21(i8vec4) Load 379
381: 17(ivec4) Load 19(ballot)
382: 21(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 380 381
383: 47(ptr) AccessChain 37(data) 378 39
Store 383 382
384: 6(int) Load 8(invocation)
385: 62(ptr) AccessChain 37(data) 39 45 40
386: 22(int8_t) Load 385
387: 17(ivec4) Load 19(ballot)
388: 22(int8_t) GroupNonUniformIAdd 177 PartitionedReduceNV 386 387
389: 62(ptr) AccessChain 37(data) 384 45 40
Store 389 388
390: 6(int) Load 8(invocation)
391: 67(ptr) AccessChain 37(data) 45 45
392: 23(i8vec4) Load 391
393: 66(i8vec2) VectorShuffle 392 392 0 1
394: 17(ivec4) Load 19(ballot)
395: 66(i8vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 393 394
396: 67(ptr) AccessChain 37(data) 390 45
397: 23(i8vec4) Load 396
398: 23(i8vec4) VectorShuffle 397 395 4 5 2 3
Store 396 398
399: 6(int) Load 8(invocation)
400: 67(ptr) AccessChain 37(data) 52 45
401: 23(i8vec4) Load 400
402: 72(i8vec3) VectorShuffle 401 401 0 1 2
403: 17(ivec4) Load 19(ballot)
404: 72(i8vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 402 403
405: 67(ptr) AccessChain 37(data) 399 45
406: 23(i8vec4) Load 405
407: 23(i8vec4) VectorShuffle 406 404 4 5 6 3
Store 405 407
408: 6(int) Load 8(invocation)
409: 67(ptr) AccessChain 37(data) 58 45
410: 23(i8vec4) Load 409
411: 17(ivec4) Load 19(ballot)
412: 23(i8vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 410 411
413: 67(ptr) AccessChain 37(data) 408 45
Store 413 412
414: 6(int) Load 8(invocation)
415: 62(ptr) AccessChain 37(data) 39 45 40
416: 22(int8_t) Load 415
417: 17(ivec4) Load 19(ballot)
418: 22(int8_t) GroupNonUniformIMul 177 PartitionedReduceNV 416 417
419: 62(ptr) AccessChain 37(data) 414 45 40
Store 419 418
420: 6(int) Load 8(invocation)
421: 67(ptr) AccessChain 37(data) 45 45
422: 23(i8vec4) Load 421
423: 66(i8vec2) VectorShuffle 422 422 0 1
424: 17(ivec4) Load 19(ballot)
425: 66(i8vec2) GroupNonUniformIMul 177 PartitionedReduceNV 423 424
426: 67(ptr) AccessChain 37(data) 420 45
427: 23(i8vec4) Load 426
428: 23(i8vec4) VectorShuffle 427 425 4 5 2 3
Store 426 428
429: 6(int) Load 8(invocation)
430: 67(ptr) AccessChain 37(data) 52 45
431: 23(i8vec4) Load 430
432: 72(i8vec3) VectorShuffle 431 431 0 1 2
433: 17(ivec4) Load 19(ballot)
434: 72(i8vec3) GroupNonUniformIMul 177 PartitionedReduceNV 432 433
435: 67(ptr) AccessChain 37(data) 429 45
436: 23(i8vec4) Load 435
437: 23(i8vec4) VectorShuffle 436 434 4 5 6 3
Store 435 437
438: 6(int) Load 8(invocation)
439: 67(ptr) AccessChain 37(data) 58 45
440: 23(i8vec4) Load 439
441: 17(ivec4) Load 19(ballot)
442: 23(i8vec4) GroupNonUniformIMul 177 PartitionedReduceNV 440 441
443: 67(ptr) AccessChain 37(data) 438 45
Store 443 442
444: 6(int) Load 8(invocation)
445: 62(ptr) AccessChain 37(data) 39 45 40
446: 22(int8_t) Load 445
447: 17(ivec4) Load 19(ballot)
448: 22(int8_t) GroupNonUniformSMin 177 PartitionedReduceNV 446 447
449: 62(ptr) AccessChain 37(data) 444 45 40
Store 449 448
450: 6(int) Load 8(invocation)
451: 67(ptr) AccessChain 37(data) 45 45
452: 23(i8vec4) Load 451
453: 66(i8vec2) VectorShuffle 452 452 0 1
454: 17(ivec4) Load 19(ballot)
455: 66(i8vec2) GroupNonUniformSMin 177 PartitionedReduceNV 453 454
456: 67(ptr) AccessChain 37(data) 450 45
457: 23(i8vec4) Load 456
458: 23(i8vec4) VectorShuffle 457 455 4 5 2 3
Store 456 458
459: 6(int) Load 8(invocation)
460: 67(ptr) AccessChain 37(data) 52 45
461: 23(i8vec4) Load 460
462: 72(i8vec3) VectorShuffle 461 461 0 1 2
463: 17(ivec4) Load 19(ballot)
464: 72(i8vec3) GroupNonUniformSMin 177 PartitionedReduceNV 462 463
465: 67(ptr) AccessChain 37(data) 459 45
466: 23(i8vec4) Load 465
467: 23(i8vec4) VectorShuffle 466 464 4 5 6 3
Store 465 467
468: 6(int) Load 8(invocation)
469: 67(ptr) AccessChain 37(data) 58 45
470: 23(i8vec4) Load 469
471: 17(ivec4) Load 19(ballot)
472: 23(i8vec4) GroupNonUniformSMin 177 PartitionedReduceNV 470 471
473: 67(ptr) AccessChain 37(data) 468 45
Store 473 472
474: 6(int) Load 8(invocation)
475: 62(ptr) AccessChain 37(data) 39 45 40
476: 22(int8_t) Load 475
477: 17(ivec4) Load 19(ballot)
478: 22(int8_t) GroupNonUniformSMax 177 PartitionedReduceNV 476 477
479: 62(ptr) AccessChain 37(data) 474 45 40
Store 479 478
480: 6(int) Load 8(invocation)
481: 67(ptr) AccessChain 37(data) 45 45
482: 23(i8vec4) Load 481
483: 66(i8vec2) VectorShuffle 482 482 0 1
484: 17(ivec4) Load 19(ballot)
485: 66(i8vec2) GroupNonUniformSMax 177 PartitionedReduceNV 483 484
486: 67(ptr) AccessChain 37(data) 480 45
487: 23(i8vec4) Load 486
488: 23(i8vec4) VectorShuffle 487 485 4 5 2 3
Store 486 488
489: 6(int) Load 8(invocation)
490: 67(ptr) AccessChain 37(data) 52 45
491: 23(i8vec4) Load 490
492: 72(i8vec3) VectorShuffle 491 491 0 1 2
493: 17(ivec4) Load 19(ballot)
494: 72(i8vec3) GroupNonUniformSMax 177 PartitionedReduceNV 492 493
495: 67(ptr) AccessChain 37(data) 489 45
496: 23(i8vec4) Load 495
497: 23(i8vec4) VectorShuffle 496 494 4 5 6 3
Store 495 497
498: 6(int) Load 8(invocation)
499: 67(ptr) AccessChain 37(data) 58 45
500: 23(i8vec4) Load 499
501: 17(ivec4) Load 19(ballot)
502: 23(i8vec4) GroupNonUniformSMax 177 PartitionedReduceNV 500 501
503: 67(ptr) AccessChain 37(data) 498 45
Store 503 502
504: 6(int) Load 8(invocation)
505: 62(ptr) AccessChain 37(data) 39 45 40
506: 22(int8_t) Load 505
507: 17(ivec4) Load 19(ballot)
508: 22(int8_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 506 507
509: 62(ptr) AccessChain 37(data) 504 45 40
Store 509 508
510: 6(int) Load 8(invocation)
511: 67(ptr) AccessChain 37(data) 45 45
512: 23(i8vec4) Load 511
513: 66(i8vec2) VectorShuffle 512 512 0 1
514: 17(ivec4) Load 19(ballot)
515: 66(i8vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 513 514
516: 67(ptr) AccessChain 37(data) 510 45
517: 23(i8vec4) Load 516
518: 23(i8vec4) VectorShuffle 517 515 4 5 2 3
Store 516 518
519: 6(int) Load 8(invocation)
520: 67(ptr) AccessChain 37(data) 52 45
521: 23(i8vec4) Load 520
522: 72(i8vec3) VectorShuffle 521 521 0 1 2
523: 17(ivec4) Load 19(ballot)
524: 72(i8vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 522 523
525: 67(ptr) AccessChain 37(data) 519 45
526: 23(i8vec4) Load 525
527: 23(i8vec4) VectorShuffle 526 524 4 5 6 3
Store 525 527
528: 6(int) Load 8(invocation)
529: 67(ptr) AccessChain 37(data) 58 45
530: 23(i8vec4) Load 529
531: 17(ivec4) Load 19(ballot)
532: 23(i8vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 530 531
533: 67(ptr) AccessChain 37(data) 528 45
Store 533 532
534: 6(int) Load 8(invocation)
535: 62(ptr) AccessChain 37(data) 39 45 40
536: 22(int8_t) Load 535
537: 17(ivec4) Load 19(ballot)
538: 22(int8_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 536 537
539: 62(ptr) AccessChain 37(data) 534 45 40
Store 539 538
540: 6(int) Load 8(invocation)
541: 67(ptr) AccessChain 37(data) 45 45
542: 23(i8vec4) Load 541
543: 66(i8vec2) VectorShuffle 542 542 0 1
544: 17(ivec4) Load 19(ballot)
545: 66(i8vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 543 544
546: 67(ptr) AccessChain 37(data) 540 45
547: 23(i8vec4) Load 546
548: 23(i8vec4) VectorShuffle 547 545 4 5 2 3
Store 546 548
549: 6(int) Load 8(invocation)
550: 67(ptr) AccessChain 37(data) 52 45
551: 23(i8vec4) Load 550
552: 72(i8vec3) VectorShuffle 551 551 0 1 2
553: 17(ivec4) Load 19(ballot)
554: 72(i8vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 552 553
555: 67(ptr) AccessChain 37(data) 549 45
556: 23(i8vec4) Load 555
557: 23(i8vec4) VectorShuffle 556 554 4 5 6 3
Store 555 557
558: 6(int) Load 8(invocation)
559: 67(ptr) AccessChain 37(data) 58 45
560: 23(i8vec4) Load 559
561: 17(ivec4) Load 19(ballot)
562: 23(i8vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 560 561
563: 67(ptr) AccessChain 37(data) 558 45
Store 563 562
564: 6(int) Load 8(invocation)
565: 62(ptr) AccessChain 37(data) 39 45 40
566: 22(int8_t) Load 565
567: 17(ivec4) Load 19(ballot)
568: 22(int8_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 566 567
569: 62(ptr) AccessChain 37(data) 564 45 40
Store 569 568
570: 6(int) Load 8(invocation)
571: 67(ptr) AccessChain 37(data) 45 45
572: 23(i8vec4) Load 571
573: 66(i8vec2) VectorShuffle 572 572 0 1
574: 17(ivec4) Load 19(ballot)
575: 66(i8vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 573 574
576: 67(ptr) AccessChain 37(data) 570 45
577: 23(i8vec4) Load 576
578: 23(i8vec4) VectorShuffle 577 575 4 5 2 3
Store 576 578
579: 6(int) Load 8(invocation)
580: 67(ptr) AccessChain 37(data) 52 45
581: 23(i8vec4) Load 580
582: 72(i8vec3) VectorShuffle 581 581 0 1 2
583: 17(ivec4) Load 19(ballot)
584: 72(i8vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 582 583
585: 67(ptr) AccessChain 37(data) 579 45
586: 23(i8vec4) Load 585
587: 23(i8vec4) VectorShuffle 586 584 4 5 6 3
Store 585 587
588: 6(int) Load 8(invocation)
589: 67(ptr) AccessChain 37(data) 58 45
590: 23(i8vec4) Load 589
591: 17(ivec4) Load 19(ballot)
592: 23(i8vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 590 591
593: 67(ptr) AccessChain 37(data) 588 45
Store 593 592
594: 6(int) Load 8(invocation)
595: 80(ptr) AccessChain 37(data) 39 52 40
596: 24(int16_t) Load 595
597: 17(ivec4) Load 19(ballot)
598: 24(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 596 597
599: 80(ptr) AccessChain 37(data) 594 52 40
Store 599 598
600: 6(int) Load 8(invocation)
601: 85(ptr) AccessChain 37(data) 45 52
602: 25(i16vec4) Load 601
603: 84(i16vec2) VectorShuffle 602 602 0 1
604: 17(ivec4) Load 19(ballot)
605: 84(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 603 604
606: 85(ptr) AccessChain 37(data) 600 52
607: 25(i16vec4) Load 606
608: 25(i16vec4) VectorShuffle 607 605 4 5 2 3
Store 606 608
609: 6(int) Load 8(invocation)
610: 85(ptr) AccessChain 37(data) 52 52
611: 25(i16vec4) Load 610
612: 90(i16vec3) VectorShuffle 611 611 0 1 2
613: 17(ivec4) Load 19(ballot)
614: 90(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 612 613
615: 85(ptr) AccessChain 37(data) 609 52
616: 25(i16vec4) Load 615
617: 25(i16vec4) VectorShuffle 616 614 4 5 6 3
Store 615 617
618: 6(int) Load 8(invocation)
619: 85(ptr) AccessChain 37(data) 58 52
620: 25(i16vec4) Load 619
621: 17(ivec4) Load 19(ballot)
622: 25(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 620 621
623: 85(ptr) AccessChain 37(data) 618 52
Store 623 622
624: 6(int) Load 8(invocation)
625: 80(ptr) AccessChain 37(data) 39 52 40
626: 24(int16_t) Load 625
627: 17(ivec4) Load 19(ballot)
628: 24(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 626 627
629: 80(ptr) AccessChain 37(data) 624 52 40
Store 629 628
630: 6(int) Load 8(invocation)
631: 85(ptr) AccessChain 37(data) 45 52
632: 25(i16vec4) Load 631
633: 84(i16vec2) VectorShuffle 632 632 0 1
634: 17(ivec4) Load 19(ballot)
635: 84(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 633 634
636: 85(ptr) AccessChain 37(data) 630 52
637: 25(i16vec4) Load 636
638: 25(i16vec4) VectorShuffle 637 635 4 5 2 3
Store 636 638
639: 6(int) Load 8(invocation)
640: 85(ptr) AccessChain 37(data) 52 52
641: 25(i16vec4) Load 640
642: 90(i16vec3) VectorShuffle 641 641 0 1 2
643: 17(ivec4) Load 19(ballot)
644: 90(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 642 643
645: 85(ptr) AccessChain 37(data) 639 52
646: 25(i16vec4) Load 645
647: 25(i16vec4) VectorShuffle 646 644 4 5 6 3
Store 645 647
648: 6(int) Load 8(invocation)
649: 85(ptr) AccessChain 37(data) 58 52
650: 25(i16vec4) Load 649
651: 17(ivec4) Load 19(ballot)
652: 25(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 650 651
653: 85(ptr) AccessChain 37(data) 648 52
Store 653 652
654: 6(int) Load 8(invocation)
655: 80(ptr) AccessChain 37(data) 39 52 40
656: 24(int16_t) Load 655
657: 17(ivec4) Load 19(ballot)
658: 24(int16_t) GroupNonUniformSMin 177 PartitionedReduceNV 656 657
659: 80(ptr) AccessChain 37(data) 654 52 40
Store 659 658
660: 6(int) Load 8(invocation)
661: 85(ptr) AccessChain 37(data) 45 52
662: 25(i16vec4) Load 661
663: 84(i16vec2) VectorShuffle 662 662 0 1
664: 17(ivec4) Load 19(ballot)
665: 84(i16vec2) GroupNonUniformSMin 177 PartitionedReduceNV 663 664
666: 85(ptr) AccessChain 37(data) 660 52
667: 25(i16vec4) Load 666
668: 25(i16vec4) VectorShuffle 667 665 4 5 2 3
Store 666 668
669: 6(int) Load 8(invocation)
670: 85(ptr) AccessChain 37(data) 52 52
671: 25(i16vec4) Load 670
672: 90(i16vec3) VectorShuffle 671 671 0 1 2
673: 17(ivec4) Load 19(ballot)
674: 90(i16vec3) GroupNonUniformSMin 177 PartitionedReduceNV 672 673
675: 85(ptr) AccessChain 37(data) 669 52
676: 25(i16vec4) Load 675
677: 25(i16vec4) VectorShuffle 676 674 4 5 6 3
Store 675 677
678: 6(int) Load 8(invocation)
679: 85(ptr) AccessChain 37(data) 58 52
680: 25(i16vec4) Load 679
681: 17(ivec4) Load 19(ballot)
682: 25(i16vec4) GroupNonUniformSMin 177 PartitionedReduceNV 680 681
683: 85(ptr) AccessChain 37(data) 678 52
Store 683 682
684: 6(int) Load 8(invocation)
685: 80(ptr) AccessChain 37(data) 39 52 40
686: 24(int16_t) Load 685
687: 17(ivec4) Load 19(ballot)
688: 24(int16_t) GroupNonUniformSMax 177 PartitionedReduceNV 686 687
689: 80(ptr) AccessChain 37(data) 684 52 40
Store 689 688
690: 6(int) Load 8(invocation)
691: 85(ptr) AccessChain 37(data) 45 52
692: 25(i16vec4) Load 691
693: 84(i16vec2) VectorShuffle 692 692 0 1
694: 17(ivec4) Load 19(ballot)
695: 84(i16vec2) GroupNonUniformSMax 177 PartitionedReduceNV 693 694
696: 85(ptr) AccessChain 37(data) 690 52
697: 25(i16vec4) Load 696
698: 25(i16vec4) VectorShuffle 697 695 4 5 2 3
Store 696 698
699: 6(int) Load 8(invocation)
700: 85(ptr) AccessChain 37(data) 52 52
701: 25(i16vec4) Load 700
702: 90(i16vec3) VectorShuffle 701 701 0 1 2
703: 17(ivec4) Load 19(ballot)
704: 90(i16vec3) GroupNonUniformSMax 177 PartitionedReduceNV 702 703
705: 85(ptr) AccessChain 37(data) 699 52
706: 25(i16vec4) Load 705
707: 25(i16vec4) VectorShuffle 706 704 4 5 6 3
Store 705 707
708: 6(int) Load 8(invocation)
709: 85(ptr) AccessChain 37(data) 58 52
710: 25(i16vec4) Load 709
711: 17(ivec4) Load 19(ballot)
712: 25(i16vec4) GroupNonUniformSMax 177 PartitionedReduceNV 710 711
713: 85(ptr) AccessChain 37(data) 708 52
Store 713 712
714: 6(int) Load 8(invocation)
715: 80(ptr) AccessChain 37(data) 39 52 40
716: 24(int16_t) Load 715
717: 17(ivec4) Load 19(ballot)
718: 24(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 716 717
719: 80(ptr) AccessChain 37(data) 714 52 40
Store 719 718
720: 6(int) Load 8(invocation)
721: 85(ptr) AccessChain 37(data) 45 52
722: 25(i16vec4) Load 721
723: 84(i16vec2) VectorShuffle 722 722 0 1
724: 17(ivec4) Load 19(ballot)
725: 84(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 723 724
726: 85(ptr) AccessChain 37(data) 720 52
727: 25(i16vec4) Load 726
728: 25(i16vec4) VectorShuffle 727 725 4 5 2 3
Store 726 728
729: 6(int) Load 8(invocation)
730: 85(ptr) AccessChain 37(data) 52 52
731: 25(i16vec4) Load 730
732: 90(i16vec3) VectorShuffle 731 731 0 1 2
733: 17(ivec4) Load 19(ballot)
734: 90(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 732 733
735: 85(ptr) AccessChain 37(data) 729 52
736: 25(i16vec4) Load 735
737: 25(i16vec4) VectorShuffle 736 734 4 5 6 3
Store 735 737
738: 6(int) Load 8(invocation)
739: 85(ptr) AccessChain 37(data) 58 52
740: 25(i16vec4) Load 739
741: 17(ivec4) Load 19(ballot)
742: 25(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 740 741
743: 85(ptr) AccessChain 37(data) 738 52
Store 743 742
744: 6(int) Load 8(invocation)
745: 80(ptr) AccessChain 37(data) 39 52 40
746: 24(int16_t) Load 745
747: 17(ivec4) Load 19(ballot)
748: 24(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 746 747
749: 80(ptr) AccessChain 37(data) 744 52 40
Store 749 748
750: 6(int) Load 8(invocation)
751: 85(ptr) AccessChain 37(data) 45 52
752: 25(i16vec4) Load 751
753: 84(i16vec2) VectorShuffle 752 752 0 1
754: 17(ivec4) Load 19(ballot)
755: 84(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 753 754
756: 85(ptr) AccessChain 37(data) 750 52
757: 25(i16vec4) Load 756
758: 25(i16vec4) VectorShuffle 757 755 4 5 2 3
Store 756 758
759: 6(int) Load 8(invocation)
760: 85(ptr) AccessChain 37(data) 52 52
761: 25(i16vec4) Load 760
762: 90(i16vec3) VectorShuffle 761 761 0 1 2
763: 17(ivec4) Load 19(ballot)
764: 90(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 762 763
765: 85(ptr) AccessChain 37(data) 759 52
766: 25(i16vec4) Load 765
767: 25(i16vec4) VectorShuffle 766 764 4 5 6 3
Store 765 767
768: 6(int) Load 8(invocation)
769: 85(ptr) AccessChain 37(data) 58 52
770: 25(i16vec4) Load 769
771: 17(ivec4) Load 19(ballot)
772: 25(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 770 771
773: 85(ptr) AccessChain 37(data) 768 52
Store 773 772
774: 6(int) Load 8(invocation)
775: 80(ptr) AccessChain 37(data) 39 52 40
776: 24(int16_t) Load 775
777: 17(ivec4) Load 19(ballot)
778: 24(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 776 777
779: 80(ptr) AccessChain 37(data) 774 52 40
Store 779 778
780: 6(int) Load 8(invocation)
781: 85(ptr) AccessChain 37(data) 45 52
782: 25(i16vec4) Load 781
783: 84(i16vec2) VectorShuffle 782 782 0 1
784: 17(ivec4) Load 19(ballot)
785: 84(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 783 784
786: 85(ptr) AccessChain 37(data) 780 52
787: 25(i16vec4) Load 786
788: 25(i16vec4) VectorShuffle 787 785 4 5 2 3
Store 786 788
789: 6(int) Load 8(invocation)
790: 85(ptr) AccessChain 37(data) 52 52
791: 25(i16vec4) Load 790
792: 90(i16vec3) VectorShuffle 791 791 0 1 2
793: 17(ivec4) Load 19(ballot)
794: 90(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 792 793
795: 85(ptr) AccessChain 37(data) 789 52
796: 25(i16vec4) Load 795
797: 25(i16vec4) VectorShuffle 796 794 4 5 6 3
Store 795 797
798: 6(int) Load 8(invocation)
799: 85(ptr) AccessChain 37(data) 58 52
800: 25(i16vec4) Load 799
801: 17(ivec4) Load 19(ballot)
802: 25(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 800 801
803: 85(ptr) AccessChain 37(data) 798 52
Store 803 802
804: 6(int) Load 8(invocation)
805: 98(ptr) AccessChain 37(data) 39 58 40
806: 26(int16_t) Load 805
807: 17(ivec4) Load 19(ballot)
808: 26(int16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 806 807
809: 98(ptr) AccessChain 37(data) 804 58 40
Store 809 808
810: 6(int) Load 8(invocation)
811: 103(ptr) AccessChain 37(data) 45 58
812: 27(i16vec4) Load 811
813:102(i16vec2) VectorShuffle 812 812 0 1
814: 17(ivec4) Load 19(ballot)
815:102(i16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 813 814
816: 103(ptr) AccessChain 37(data) 810 58
817: 27(i16vec4) Load 816
818: 27(i16vec4) VectorShuffle 817 815 4 5 2 3
Store 816 818
819: 6(int) Load 8(invocation)
820: 103(ptr) AccessChain 37(data) 52 58
821: 27(i16vec4) Load 820
822:108(i16vec3) VectorShuffle 821 821 0 1 2
823: 17(ivec4) Load 19(ballot)
824:108(i16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 822 823
825: 103(ptr) AccessChain 37(data) 819 58
826: 27(i16vec4) Load 825
827: 27(i16vec4) VectorShuffle 826 824 4 5 6 3
Store 825 827
828: 6(int) Load 8(invocation)
829: 103(ptr) AccessChain 37(data) 58 58
830: 27(i16vec4) Load 829
831: 17(ivec4) Load 19(ballot)
832: 27(i16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 830 831
833: 103(ptr) AccessChain 37(data) 828 58
Store 833 832
834: 6(int) Load 8(invocation)
835: 98(ptr) AccessChain 37(data) 39 58 40
836: 26(int16_t) Load 835
837: 17(ivec4) Load 19(ballot)
838: 26(int16_t) GroupNonUniformIMul 177 PartitionedReduceNV 836 837
839: 98(ptr) AccessChain 37(data) 834 58 40
Store 839 838
840: 6(int) Load 8(invocation)
841: 103(ptr) AccessChain 37(data) 45 58
842: 27(i16vec4) Load 841
843:102(i16vec2) VectorShuffle 842 842 0 1
844: 17(ivec4) Load 19(ballot)
845:102(i16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 843 844
846: 103(ptr) AccessChain 37(data) 840 58
847: 27(i16vec4) Load 846
848: 27(i16vec4) VectorShuffle 847 845 4 5 2 3
Store 846 848
849: 6(int) Load 8(invocation)
850: 103(ptr) AccessChain 37(data) 52 58
851: 27(i16vec4) Load 850
852:108(i16vec3) VectorShuffle 851 851 0 1 2
853: 17(ivec4) Load 19(ballot)
854:108(i16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 852 853
855: 103(ptr) AccessChain 37(data) 849 58
856: 27(i16vec4) Load 855
857: 27(i16vec4) VectorShuffle 856 854 4 5 6 3
Store 855 857
858: 6(int) Load 8(invocation)
859: 103(ptr) AccessChain 37(data) 58 58
860: 27(i16vec4) Load 859
861: 17(ivec4) Load 19(ballot)
862: 27(i16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 860 861
863: 103(ptr) AccessChain 37(data) 858 58
Store 863 862
864: 6(int) Load 8(invocation)
865: 98(ptr) AccessChain 37(data) 39 58 40
866: 26(int16_t) Load 865
867: 17(ivec4) Load 19(ballot)
868: 26(int16_t) GroupNonUniformSMin 177 PartitionedReduceNV 866 867
869: 98(ptr) AccessChain 37(data) 864 58 40
Store 869 868
870: 6(int) Load 8(invocation)
871: 103(ptr) AccessChain 37(data) 45 58
872: 27(i16vec4) Load 871
873:102(i16vec2) VectorShuffle 872 872 0 1
874: 17(ivec4) Load 19(ballot)
875:102(i16vec2) GroupNonUniformSMin 177 PartitionedReduceNV 873 874
876: 103(ptr) AccessChain 37(data) 870 58
877: 27(i16vec4) Load 876
878: 27(i16vec4) VectorShuffle 877 875 4 5 2 3
Store 876 878
879: 6(int) Load 8(invocation)
880: 103(ptr) AccessChain 37(data) 52 58
881: 27(i16vec4) Load 880
882:108(i16vec3) VectorShuffle 881 881 0 1 2
883: 17(ivec4) Load 19(ballot)
884:108(i16vec3) GroupNonUniformSMin 177 PartitionedReduceNV 882 883
885: 103(ptr) AccessChain 37(data) 879 58
886: 27(i16vec4) Load 885
887: 27(i16vec4) VectorShuffle 886 884 4 5 6 3
Store 885 887
888: 6(int) Load 8(invocation)
889: 103(ptr) AccessChain 37(data) 58 58
890: 27(i16vec4) Load 889
891: 17(ivec4) Load 19(ballot)
892: 27(i16vec4) GroupNonUniformSMin 177 PartitionedReduceNV 890 891
893: 103(ptr) AccessChain 37(data) 888 58
Store 893 892
894: 6(int) Load 8(invocation)
895: 98(ptr) AccessChain 37(data) 39 58 40
896: 26(int16_t) Load 895
897: 17(ivec4) Load 19(ballot)
898: 26(int16_t) GroupNonUniformSMax 177 PartitionedReduceNV 896 897
899: 98(ptr) AccessChain 37(data) 894 58 40
Store 899 898
900: 6(int) Load 8(invocation)
901: 103(ptr) AccessChain 37(data) 45 58
902: 27(i16vec4) Load 901
903:102(i16vec2) VectorShuffle 902 902 0 1
904: 17(ivec4) Load 19(ballot)
905:102(i16vec2) GroupNonUniformSMax 177 PartitionedReduceNV 903 904
906: 103(ptr) AccessChain 37(data) 900 58
907: 27(i16vec4) Load 906
908: 27(i16vec4) VectorShuffle 907 905 4 5 2 3
Store 906 908
909: 6(int) Load 8(invocation)
910: 103(ptr) AccessChain 37(data) 52 58
911: 27(i16vec4) Load 910
912:108(i16vec3) VectorShuffle 911 911 0 1 2
913: 17(ivec4) Load 19(ballot)
914:108(i16vec3) GroupNonUniformSMax 177 PartitionedReduceNV 912 913
915: 103(ptr) AccessChain 37(data) 909 58
916: 27(i16vec4) Load 915
917: 27(i16vec4) VectorShuffle 916 914 4 5 6 3
Store 915 917
918: 6(int) Load 8(invocation)
919: 103(ptr) AccessChain 37(data) 58 58
920: 27(i16vec4) Load 919
921: 17(ivec4) Load 19(ballot)
922: 27(i16vec4) GroupNonUniformSMax 177 PartitionedReduceNV 920 921
923: 103(ptr) AccessChain 37(data) 918 58
Store 923 922
924: 6(int) Load 8(invocation)
925: 98(ptr) AccessChain 37(data) 39 58 40
926: 26(int16_t) Load 925
927: 17(ivec4) Load 19(ballot)
928: 26(int16_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 926 927
929: 98(ptr) AccessChain 37(data) 924 58 40
Store 929 928
930: 6(int) Load 8(invocation)
931: 103(ptr) AccessChain 37(data) 45 58
932: 27(i16vec4) Load 931
933:102(i16vec2) VectorShuffle 932 932 0 1
934: 17(ivec4) Load 19(ballot)
935:102(i16vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 933 934
936: 103(ptr) AccessChain 37(data) 930 58
937: 27(i16vec4) Load 936
938: 27(i16vec4) VectorShuffle 937 935 4 5 2 3
Store 936 938
939: 6(int) Load 8(invocation)
940: 103(ptr) AccessChain 37(data) 52 58
941: 27(i16vec4) Load 940
942:108(i16vec3) VectorShuffle 941 941 0 1 2
943: 17(ivec4) Load 19(ballot)
944:108(i16vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 942 943
945: 103(ptr) AccessChain 37(data) 939 58
946: 27(i16vec4) Load 945
947: 27(i16vec4) VectorShuffle 946 944 4 5 6 3
Store 945 947
948: 6(int) Load 8(invocation)
949: 103(ptr) AccessChain 37(data) 58 58
950: 27(i16vec4) Load 949
951: 17(ivec4) Load 19(ballot)
952: 27(i16vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 950 951
953: 103(ptr) AccessChain 37(data) 948 58
Store 953 952
954: 6(int) Load 8(invocation)
955: 98(ptr) AccessChain 37(data) 39 58 40
956: 26(int16_t) Load 955
957: 17(ivec4) Load 19(ballot)
958: 26(int16_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 956 957
959: 98(ptr) AccessChain 37(data) 954 58 40
Store 959 958
960: 6(int) Load 8(invocation)
961: 103(ptr) AccessChain 37(data) 45 58
962: 27(i16vec4) Load 961
963:102(i16vec2) VectorShuffle 962 962 0 1
964: 17(ivec4) Load 19(ballot)
965:102(i16vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 963 964
966: 103(ptr) AccessChain 37(data) 960 58
967: 27(i16vec4) Load 966
968: 27(i16vec4) VectorShuffle 967 965 4 5 2 3
Store 966 968
969: 6(int) Load 8(invocation)
970: 103(ptr) AccessChain 37(data) 52 58
971: 27(i16vec4) Load 970
972:108(i16vec3) VectorShuffle 971 971 0 1 2
973: 17(ivec4) Load 19(ballot)
974:108(i16vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 972 973
975: 103(ptr) AccessChain 37(data) 969 58
976: 27(i16vec4) Load 975
977: 27(i16vec4) VectorShuffle 976 974 4 5 6 3
Store 975 977
978: 6(int) Load 8(invocation)
979: 103(ptr) AccessChain 37(data) 58 58
980: 27(i16vec4) Load 979
981: 17(ivec4) Load 19(ballot)
982: 27(i16vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 980 981
983: 103(ptr) AccessChain 37(data) 978 58
Store 983 982
984: 6(int) Load 8(invocation)
985: 98(ptr) AccessChain 37(data) 39 58 40
986: 26(int16_t) Load 985
987: 17(ivec4) Load 19(ballot)
988: 26(int16_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 986 987
989: 98(ptr) AccessChain 37(data) 984 58 40
Store 989 988
990: 6(int) Load 8(invocation)
991: 103(ptr) AccessChain 37(data) 45 58
992: 27(i16vec4) Load 991
993:102(i16vec2) VectorShuffle 992 992 0 1
994: 17(ivec4) Load 19(ballot)
995:102(i16vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 993 994
996: 103(ptr) AccessChain 37(data) 990 58
997: 27(i16vec4) Load 996
998: 27(i16vec4) VectorShuffle 997 995 4 5 2 3
Store 996 998
999: 6(int) Load 8(invocation)
1000: 103(ptr) AccessChain 37(data) 52 58
1001: 27(i16vec4) Load 1000
1002:108(i16vec3) VectorShuffle 1001 1001 0 1 2
1003: 17(ivec4) Load 19(ballot)
1004:108(i16vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1002 1003
1005: 103(ptr) AccessChain 37(data) 999 58
1006: 27(i16vec4) Load 1005
1007: 27(i16vec4) VectorShuffle 1006 1004 4 5 6 3
Store 1005 1007
1008: 6(int) Load 8(invocation)
1009: 103(ptr) AccessChain 37(data) 58 58
1010: 27(i16vec4) Load 1009
1011: 17(ivec4) Load 19(ballot)
1012: 27(i16vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1010 1011
1013: 103(ptr) AccessChain 37(data) 1008 58
Store 1013 1012
1014: 6(int) Load 8(invocation)
1015: 117(ptr) AccessChain 37(data) 39 116 40
1016: 28(int64_t) Load 1015
1017: 17(ivec4) Load 19(ballot)
1018: 28(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1016 1017
1019: 117(ptr) AccessChain 37(data) 1014 116 40
Store 1019 1018
1020: 6(int) Load 8(invocation)
1021: 122(ptr) AccessChain 37(data) 45 116
1022: 29(i64vec4) Load 1021
1023:121(i64vec2) VectorShuffle 1022 1022 0 1
1024: 17(ivec4) Load 19(ballot)
1025:121(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1023 1024
1026: 122(ptr) AccessChain 37(data) 1020 116
1027: 29(i64vec4) Load 1026
1028: 29(i64vec4) VectorShuffle 1027 1025 4 5 2 3
Store 1026 1028
1029: 6(int) Load 8(invocation)
1030: 122(ptr) AccessChain 37(data) 52 116
1031: 29(i64vec4) Load 1030
1032:127(i64vec3) VectorShuffle 1031 1031 0 1 2
1033: 17(ivec4) Load 19(ballot)
1034:127(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1032 1033
1035: 122(ptr) AccessChain 37(data) 1029 116
1036: 29(i64vec4) Load 1035
1037: 29(i64vec4) VectorShuffle 1036 1034 4 5 6 3
Store 1035 1037
1038: 6(int) Load 8(invocation)
1039: 122(ptr) AccessChain 37(data) 58 116
1040: 29(i64vec4) Load 1039
1041: 17(ivec4) Load 19(ballot)
1042: 29(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1040 1041
1043: 122(ptr) AccessChain 37(data) 1038 116
Store 1043 1042
1044: 6(int) Load 8(invocation)
1045: 117(ptr) AccessChain 37(data) 39 116 40
1046: 28(int64_t) Load 1045
1047: 17(ivec4) Load 19(ballot)
1048: 28(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1046 1047
1049: 117(ptr) AccessChain 37(data) 1044 116 40
Store 1049 1048
1050: 6(int) Load 8(invocation)
1051: 122(ptr) AccessChain 37(data) 45 116
1052: 29(i64vec4) Load 1051
1053:121(i64vec2) VectorShuffle 1052 1052 0 1
1054: 17(ivec4) Load 19(ballot)
1055:121(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1053 1054
1056: 122(ptr) AccessChain 37(data) 1050 116
1057: 29(i64vec4) Load 1056
1058: 29(i64vec4) VectorShuffle 1057 1055 4 5 2 3
Store 1056 1058
1059: 6(int) Load 8(invocation)
1060: 122(ptr) AccessChain 37(data) 52 116
1061: 29(i64vec4) Load 1060
1062:127(i64vec3) VectorShuffle 1061 1061 0 1 2
1063: 17(ivec4) Load 19(ballot)
1064:127(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1062 1063
1065: 122(ptr) AccessChain 37(data) 1059 116
1066: 29(i64vec4) Load 1065
1067: 29(i64vec4) VectorShuffle 1066 1064 4 5 6 3
Store 1065 1067
1068: 6(int) Load 8(invocation)
1069: 122(ptr) AccessChain 37(data) 58 116
1070: 29(i64vec4) Load 1069
1071: 17(ivec4) Load 19(ballot)
1072: 29(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1070 1071
1073: 122(ptr) AccessChain 37(data) 1068 116
Store 1073 1072
1074: 6(int) Load 8(invocation)
1075: 117(ptr) AccessChain 37(data) 39 116 40
1076: 28(int64_t) Load 1075
1077: 17(ivec4) Load 19(ballot)
1078: 28(int64_t) GroupNonUniformSMin 177 PartitionedReduceNV 1076 1077
1079: 117(ptr) AccessChain 37(data) 1074 116 40
Store 1079 1078
1080: 6(int) Load 8(invocation)
1081: 122(ptr) AccessChain 37(data) 45 116
1082: 29(i64vec4) Load 1081
1083:121(i64vec2) VectorShuffle 1082 1082 0 1
1084: 17(ivec4) Load 19(ballot)
1085:121(i64vec2) GroupNonUniformSMin 177 PartitionedReduceNV 1083 1084
1086: 122(ptr) AccessChain 37(data) 1080 116
1087: 29(i64vec4) Load 1086
1088: 29(i64vec4) VectorShuffle 1087 1085 4 5 2 3
Store 1086 1088
1089: 6(int) Load 8(invocation)
1090: 122(ptr) AccessChain 37(data) 52 116
1091: 29(i64vec4) Load 1090
1092:127(i64vec3) VectorShuffle 1091 1091 0 1 2
1093: 17(ivec4) Load 19(ballot)
1094:127(i64vec3) GroupNonUniformSMin 177 PartitionedReduceNV 1092 1093
1095: 122(ptr) AccessChain 37(data) 1089 116
1096: 29(i64vec4) Load 1095
1097: 29(i64vec4) VectorShuffle 1096 1094 4 5 6 3
Store 1095 1097
1098: 6(int) Load 8(invocation)
1099: 122(ptr) AccessChain 37(data) 58 116
1100: 29(i64vec4) Load 1099
1101: 17(ivec4) Load 19(ballot)
1102: 29(i64vec4) GroupNonUniformSMin 177 PartitionedReduceNV 1100 1101
1103: 122(ptr) AccessChain 37(data) 1098 116
Store 1103 1102
1104: 6(int) Load 8(invocation)
1105: 117(ptr) AccessChain 37(data) 39 116 40
1106: 28(int64_t) Load 1105
1107: 17(ivec4) Load 19(ballot)
1108: 28(int64_t) GroupNonUniformSMax 177 PartitionedReduceNV 1106 1107
1109: 117(ptr) AccessChain 37(data) 1104 116 40
Store 1109 1108
1110: 6(int) Load 8(invocation)
1111: 122(ptr) AccessChain 37(data) 45 116
1112: 29(i64vec4) Load 1111
1113:121(i64vec2) VectorShuffle 1112 1112 0 1
1114: 17(ivec4) Load 19(ballot)
1115:121(i64vec2) GroupNonUniformSMax 177 PartitionedReduceNV 1113 1114
1116: 122(ptr) AccessChain 37(data) 1110 116
1117: 29(i64vec4) Load 1116
1118: 29(i64vec4) VectorShuffle 1117 1115 4 5 2 3
Store 1116 1118
1119: 6(int) Load 8(invocation)
1120: 122(ptr) AccessChain 37(data) 52 116
1121: 29(i64vec4) Load 1120
1122:127(i64vec3) VectorShuffle 1121 1121 0 1 2
1123: 17(ivec4) Load 19(ballot)
1124:127(i64vec3) GroupNonUniformSMax 177 PartitionedReduceNV 1122 1123
1125: 122(ptr) AccessChain 37(data) 1119 116
1126: 29(i64vec4) Load 1125
1127: 29(i64vec4) VectorShuffle 1126 1124 4 5 6 3
Store 1125 1127
1128: 6(int) Load 8(invocation)
1129: 122(ptr) AccessChain 37(data) 58 116
1130: 29(i64vec4) Load 1129
1131: 17(ivec4) Load 19(ballot)
1132: 29(i64vec4) GroupNonUniformSMax 177 PartitionedReduceNV 1130 1131
1133: 122(ptr) AccessChain 37(data) 1128 116
Store 1133 1132
1134: 6(int) Load 8(invocation)
1135: 117(ptr) AccessChain 37(data) 39 116 40
1136: 28(int64_t) Load 1135
1137: 17(ivec4) Load 19(ballot)
1138: 28(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1136 1137
1139: 117(ptr) AccessChain 37(data) 1134 116 40
Store 1139 1138
1140: 6(int) Load 8(invocation)
1141: 122(ptr) AccessChain 37(data) 45 116
1142: 29(i64vec4) Load 1141
1143:121(i64vec2) VectorShuffle 1142 1142 0 1
1144: 17(ivec4) Load 19(ballot)
1145:121(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1143 1144
1146: 122(ptr) AccessChain 37(data) 1140 116
1147: 29(i64vec4) Load 1146
1148: 29(i64vec4) VectorShuffle 1147 1145 4 5 2 3
Store 1146 1148
1149: 6(int) Load 8(invocation)
1150: 122(ptr) AccessChain 37(data) 52 116
1151: 29(i64vec4) Load 1150
1152:127(i64vec3) VectorShuffle 1151 1151 0 1 2
1153: 17(ivec4) Load 19(ballot)
1154:127(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1152 1153
1155: 122(ptr) AccessChain 37(data) 1149 116
1156: 29(i64vec4) Load 1155
1157: 29(i64vec4) VectorShuffle 1156 1154 4 5 6 3
Store 1155 1157
1158: 6(int) Load 8(invocation)
1159: 122(ptr) AccessChain 37(data) 58 116
1160: 29(i64vec4) Load 1159
1161: 17(ivec4) Load 19(ballot)
1162: 29(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1160 1161
1163: 122(ptr) AccessChain 37(data) 1158 116
Store 1163 1162
1164: 6(int) Load 8(invocation)
1165: 117(ptr) AccessChain 37(data) 39 116 40
1166: 28(int64_t) Load 1165
1167: 17(ivec4) Load 19(ballot)
1168: 28(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1166 1167
1169: 117(ptr) AccessChain 37(data) 1164 116 40
Store 1169 1168
1170: 6(int) Load 8(invocation)
1171: 122(ptr) AccessChain 37(data) 45 116
1172: 29(i64vec4) Load 1171
1173:121(i64vec2) VectorShuffle 1172 1172 0 1
1174: 17(ivec4) Load 19(ballot)
1175:121(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1173 1174
1176: 122(ptr) AccessChain 37(data) 1170 116
1177: 29(i64vec4) Load 1176
1178: 29(i64vec4) VectorShuffle 1177 1175 4 5 2 3
Store 1176 1178
1179: 6(int) Load 8(invocation)
1180: 122(ptr) AccessChain 37(data) 52 116
1181: 29(i64vec4) Load 1180
1182:127(i64vec3) VectorShuffle 1181 1181 0 1 2
1183: 17(ivec4) Load 19(ballot)
1184:127(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1182 1183
1185: 122(ptr) AccessChain 37(data) 1179 116
1186: 29(i64vec4) Load 1185
1187: 29(i64vec4) VectorShuffle 1186 1184 4 5 6 3
Store 1185 1187
1188: 6(int) Load 8(invocation)
1189: 122(ptr) AccessChain 37(data) 58 116
1190: 29(i64vec4) Load 1189
1191: 17(ivec4) Load 19(ballot)
1192: 29(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1190 1191
1193: 122(ptr) AccessChain 37(data) 1188 116
Store 1193 1192
1194: 6(int) Load 8(invocation)
1195: 117(ptr) AccessChain 37(data) 39 116 40
1196: 28(int64_t) Load 1195
1197: 17(ivec4) Load 19(ballot)
1198: 28(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1196 1197
1199: 117(ptr) AccessChain 37(data) 1194 116 40
Store 1199 1198
1200: 6(int) Load 8(invocation)
1201: 122(ptr) AccessChain 37(data) 45 116
1202: 29(i64vec4) Load 1201
1203:121(i64vec2) VectorShuffle 1202 1202 0 1
1204: 17(ivec4) Load 19(ballot)
1205:121(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1203 1204
1206: 122(ptr) AccessChain 37(data) 1200 116
1207: 29(i64vec4) Load 1206
1208: 29(i64vec4) VectorShuffle 1207 1205 4 5 2 3
Store 1206 1208
1209: 6(int) Load 8(invocation)
1210: 122(ptr) AccessChain 37(data) 52 116
1211: 29(i64vec4) Load 1210
1212:127(i64vec3) VectorShuffle 1211 1211 0 1 2
1213: 17(ivec4) Load 19(ballot)
1214:127(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1212 1213
1215: 122(ptr) AccessChain 37(data) 1209 116
1216: 29(i64vec4) Load 1215
1217: 29(i64vec4) VectorShuffle 1216 1214 4 5 6 3
Store 1215 1217
1218: 6(int) Load 8(invocation)
1219: 122(ptr) AccessChain 37(data) 58 116
1220: 29(i64vec4) Load 1219
1221: 17(ivec4) Load 19(ballot)
1222: 29(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1220 1221
1223: 122(ptr) AccessChain 37(data) 1218 116
Store 1223 1222
1224: 6(int) Load 8(invocation)
1225: 136(ptr) AccessChain 37(data) 39 135 40
1226: 30(int64_t) Load 1225
1227: 17(ivec4) Load 19(ballot)
1228: 30(int64_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1226 1227
1229: 136(ptr) AccessChain 37(data) 1224 135 40
Store 1229 1228
1230: 6(int) Load 8(invocation)
1231: 141(ptr) AccessChain 37(data) 45 135
1232: 31(i64vec4) Load 1231
1233:140(i64vec2) VectorShuffle 1232 1232 0 1
1234: 17(ivec4) Load 19(ballot)
1235:140(i64vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1233 1234
1236: 141(ptr) AccessChain 37(data) 1230 135
1237: 31(i64vec4) Load 1236
1238: 31(i64vec4) VectorShuffle 1237 1235 4 5 2 3
Store 1236 1238
1239: 6(int) Load 8(invocation)
1240: 141(ptr) AccessChain 37(data) 52 135
1241: 31(i64vec4) Load 1240
1242:146(i64vec3) VectorShuffle 1241 1241 0 1 2
1243: 17(ivec4) Load 19(ballot)
1244:146(i64vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1242 1243
1245: 141(ptr) AccessChain 37(data) 1239 135
1246: 31(i64vec4) Load 1245
1247: 31(i64vec4) VectorShuffle 1246 1244 4 5 6 3
Store 1245 1247
1248: 6(int) Load 8(invocation)
1249: 141(ptr) AccessChain 37(data) 58 135
1250: 31(i64vec4) Load 1249
1251: 17(ivec4) Load 19(ballot)
1252: 31(i64vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1250 1251
1253: 141(ptr) AccessChain 37(data) 1248 135
Store 1253 1252
1254: 6(int) Load 8(invocation)
1255: 136(ptr) AccessChain 37(data) 39 135 40
1256: 30(int64_t) Load 1255
1257: 17(ivec4) Load 19(ballot)
1258: 30(int64_t) GroupNonUniformIMul 177 PartitionedReduceNV 1256 1257
1259: 136(ptr) AccessChain 37(data) 1254 135 40
Store 1259 1258
1260: 6(int) Load 8(invocation)
1261: 141(ptr) AccessChain 37(data) 45 135
1262: 31(i64vec4) Load 1261
1263:140(i64vec2) VectorShuffle 1262 1262 0 1
1264: 17(ivec4) Load 19(ballot)
1265:140(i64vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1263 1264
1266: 141(ptr) AccessChain 37(data) 1260 135
1267: 31(i64vec4) Load 1266
1268: 31(i64vec4) VectorShuffle 1267 1265 4 5 2 3
Store 1266 1268
1269: 6(int) Load 8(invocation)
1270: 141(ptr) AccessChain 37(data) 52 135
1271: 31(i64vec4) Load 1270
1272:146(i64vec3) VectorShuffle 1271 1271 0 1 2
1273: 17(ivec4) Load 19(ballot)
1274:146(i64vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1272 1273
1275: 141(ptr) AccessChain 37(data) 1269 135
1276: 31(i64vec4) Load 1275
1277: 31(i64vec4) VectorShuffle 1276 1274 4 5 6 3
Store 1275 1277
1278: 6(int) Load 8(invocation)
1279: 141(ptr) AccessChain 37(data) 58 135
1280: 31(i64vec4) Load 1279
1281: 17(ivec4) Load 19(ballot)
1282: 31(i64vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1280 1281
1283: 141(ptr) AccessChain 37(data) 1278 135
Store 1283 1282
1284: 6(int) Load 8(invocation)
1285: 136(ptr) AccessChain 37(data) 39 135 40
1286: 30(int64_t) Load 1285
1287: 17(ivec4) Load 19(ballot)
1288: 30(int64_t) GroupNonUniformUMin 177 PartitionedReduceNV 1286 1287
1289: 136(ptr) AccessChain 37(data) 1284 135 40
Store 1289 1288
1290: 6(int) Load 8(invocation)
1291: 141(ptr) AccessChain 37(data) 45 135
1292: 31(i64vec4) Load 1291
1293:140(i64vec2) VectorShuffle 1292 1292 0 1
1294: 17(ivec4) Load 19(ballot)
1295:140(i64vec2) GroupNonUniformUMin 177 PartitionedReduceNV 1293 1294
1296: 141(ptr) AccessChain 37(data) 1290 135
1297: 31(i64vec4) Load 1296
1298: 31(i64vec4) VectorShuffle 1297 1295 4 5 2 3
Store 1296 1298
1299: 6(int) Load 8(invocation)
1300: 141(ptr) AccessChain 37(data) 52 135
1301: 31(i64vec4) Load 1300
1302:146(i64vec3) VectorShuffle 1301 1301 0 1 2
1303: 17(ivec4) Load 19(ballot)
1304:146(i64vec3) GroupNonUniformUMin 177 PartitionedReduceNV 1302 1303
1305: 141(ptr) AccessChain 37(data) 1299 135
1306: 31(i64vec4) Load 1305
1307: 31(i64vec4) VectorShuffle 1306 1304 4 5 6 3
Store 1305 1307
1308: 6(int) Load 8(invocation)
1309: 141(ptr) AccessChain 37(data) 58 135
1310: 31(i64vec4) Load 1309
1311: 17(ivec4) Load 19(ballot)
1312: 31(i64vec4) GroupNonUniformUMin 177 PartitionedReduceNV 1310 1311
1313: 141(ptr) AccessChain 37(data) 1308 135
Store 1313 1312
1314: 6(int) Load 8(invocation)
1315: 136(ptr) AccessChain 37(data) 39 135 40
1316: 30(int64_t) Load 1315
1317: 17(ivec4) Load 19(ballot)
1318: 30(int64_t) GroupNonUniformUMax 177 PartitionedReduceNV 1316 1317
1319: 136(ptr) AccessChain 37(data) 1314 135 40
Store 1319 1318
1320: 6(int) Load 8(invocation)
1321: 141(ptr) AccessChain 37(data) 45 135
1322: 31(i64vec4) Load 1321
1323:140(i64vec2) VectorShuffle 1322 1322 0 1
1324: 17(ivec4) Load 19(ballot)
1325:140(i64vec2) GroupNonUniformUMax 177 PartitionedReduceNV 1323 1324
1326: 141(ptr) AccessChain 37(data) 1320 135
1327: 31(i64vec4) Load 1326
1328: 31(i64vec4) VectorShuffle 1327 1325 4 5 2 3
Store 1326 1328
1329: 6(int) Load 8(invocation)
1330: 141(ptr) AccessChain 37(data) 52 135
1331: 31(i64vec4) Load 1330
1332:146(i64vec3) VectorShuffle 1331 1331 0 1 2
1333: 17(ivec4) Load 19(ballot)
1334:146(i64vec3) GroupNonUniformUMax 177 PartitionedReduceNV 1332 1333
1335: 141(ptr) AccessChain 37(data) 1329 135
1336: 31(i64vec4) Load 1335
1337: 31(i64vec4) VectorShuffle 1336 1334 4 5 6 3
Store 1335 1337
1338: 6(int) Load 8(invocation)
1339: 141(ptr) AccessChain 37(data) 58 135
1340: 31(i64vec4) Load 1339
1341: 17(ivec4) Load 19(ballot)
1342: 31(i64vec4) GroupNonUniformUMax 177 PartitionedReduceNV 1340 1341
1343: 141(ptr) AccessChain 37(data) 1338 135
Store 1343 1342
1344: 6(int) Load 8(invocation)
1345: 136(ptr) AccessChain 37(data) 39 135 40
1346: 30(int64_t) Load 1345
1347: 17(ivec4) Load 19(ballot)
1348: 30(int64_t) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1346 1347
1349: 136(ptr) AccessChain 37(data) 1344 135 40
Store 1349 1348
1350: 6(int) Load 8(invocation)
1351: 141(ptr) AccessChain 37(data) 45 135
1352: 31(i64vec4) Load 1351
1353:140(i64vec2) VectorShuffle 1352 1352 0 1
1354: 17(ivec4) Load 19(ballot)
1355:140(i64vec2) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1353 1354
1356: 141(ptr) AccessChain 37(data) 1350 135
1357: 31(i64vec4) Load 1356
1358: 31(i64vec4) VectorShuffle 1357 1355 4 5 2 3
Store 1356 1358
1359: 6(int) Load 8(invocation)
1360: 141(ptr) AccessChain 37(data) 52 135
1361: 31(i64vec4) Load 1360
1362:146(i64vec3) VectorShuffle 1361 1361 0 1 2
1363: 17(ivec4) Load 19(ballot)
1364:146(i64vec3) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1362 1363
1365: 141(ptr) AccessChain 37(data) 1359 135
1366: 31(i64vec4) Load 1365
1367: 31(i64vec4) VectorShuffle 1366 1364 4 5 6 3
Store 1365 1367
1368: 6(int) Load 8(invocation)
1369: 141(ptr) AccessChain 37(data) 58 135
1370: 31(i64vec4) Load 1369
1371: 17(ivec4) Load 19(ballot)
1372: 31(i64vec4) GroupNonUniformBitwiseAnd 177 PartitionedReduceNV 1370 1371
1373: 141(ptr) AccessChain 37(data) 1368 135
Store 1373 1372
1374: 6(int) Load 8(invocation)
1375: 136(ptr) AccessChain 37(data) 39 135 40
1376: 30(int64_t) Load 1375
1377: 17(ivec4) Load 19(ballot)
1378: 30(int64_t) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1376 1377
1379: 136(ptr) AccessChain 37(data) 1374 135 40
Store 1379 1378
1380: 6(int) Load 8(invocation)
1381: 141(ptr) AccessChain 37(data) 45 135
1382: 31(i64vec4) Load 1381
1383:140(i64vec2) VectorShuffle 1382 1382 0 1
1384: 17(ivec4) Load 19(ballot)
1385:140(i64vec2) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1383 1384
1386: 141(ptr) AccessChain 37(data) 1380 135
1387: 31(i64vec4) Load 1386
1388: 31(i64vec4) VectorShuffle 1387 1385 4 5 2 3
Store 1386 1388
1389: 6(int) Load 8(invocation)
1390: 141(ptr) AccessChain 37(data) 52 135
1391: 31(i64vec4) Load 1390
1392:146(i64vec3) VectorShuffle 1391 1391 0 1 2
1393: 17(ivec4) Load 19(ballot)
1394:146(i64vec3) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1392 1393
1395: 141(ptr) AccessChain 37(data) 1389 135
1396: 31(i64vec4) Load 1395
1397: 31(i64vec4) VectorShuffle 1396 1394 4 5 6 3
Store 1395 1397
1398: 6(int) Load 8(invocation)
1399: 141(ptr) AccessChain 37(data) 58 135
1400: 31(i64vec4) Load 1399
1401: 17(ivec4) Load 19(ballot)
1402: 31(i64vec4) GroupNonUniformBitwiseOr 177 PartitionedReduceNV 1400 1401
1403: 141(ptr) AccessChain 37(data) 1398 135
Store 1403 1402
1404: 6(int) Load 8(invocation)
1405: 136(ptr) AccessChain 37(data) 39 135 40
1406: 30(int64_t) Load 1405
1407: 17(ivec4) Load 19(ballot)
1408: 30(int64_t) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1406 1407
1409: 136(ptr) AccessChain 37(data) 1404 135 40
Store 1409 1408
1410: 6(int) Load 8(invocation)
1411: 141(ptr) AccessChain 37(data) 45 135
1412: 31(i64vec4) Load 1411
1413:140(i64vec2) VectorShuffle 1412 1412 0 1
1414: 17(ivec4) Load 19(ballot)
1415:140(i64vec2) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1413 1414
1416: 141(ptr) AccessChain 37(data) 1410 135
1417: 31(i64vec4) Load 1416
1418: 31(i64vec4) VectorShuffle 1417 1415 4 5 2 3
Store 1416 1418
1419: 6(int) Load 8(invocation)
1420: 141(ptr) AccessChain 37(data) 52 135
1421: 31(i64vec4) Load 1420
1422:146(i64vec3) VectorShuffle 1421 1421 0 1 2
1423: 17(ivec4) Load 19(ballot)
1424:146(i64vec3) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1422 1423
1425: 141(ptr) AccessChain 37(data) 1419 135
1426: 31(i64vec4) Load 1425
1427: 31(i64vec4) VectorShuffle 1426 1424 4 5 6 3
Store 1425 1427
1428: 6(int) Load 8(invocation)
1429: 141(ptr) AccessChain 37(data) 58 135
1430: 31(i64vec4) Load 1429
1431: 17(ivec4) Load 19(ballot)
1432: 31(i64vec4) GroupNonUniformBitwiseXor 177 PartitionedReduceNV 1430 1431
1433: 141(ptr) AccessChain 37(data) 1428 135
Store 1433 1432
1434: 6(int) Load 8(invocation)
1435: 155(ptr) AccessChain 37(data) 39 154 40
1436:32(float16_t) Load 1435
1437: 17(ivec4) Load 19(ballot)
1438:32(float16_t) GroupNonUniformIAdd 177 PartitionedReduceNV 1436 1437
1439: 155(ptr) AccessChain 37(data) 1434 154 40
Store 1439 1438
1440: 6(int) Load 8(invocation)
1441: 160(ptr) AccessChain 37(data) 45 154
1442: 33(f16vec4) Load 1441
1443:159(f16vec2) VectorShuffle 1442 1442 0 1
1444: 17(ivec4) Load 19(ballot)
1445:159(f16vec2) GroupNonUniformIAdd 177 PartitionedReduceNV 1443 1444
1446: 160(ptr) AccessChain 37(data) 1440 154
1447: 33(f16vec4) Load 1446
1448: 33(f16vec4) VectorShuffle 1447 1445 4 5 2 3
Store 1446 1448
1449: 6(int) Load 8(invocation)
1450: 160(ptr) AccessChain 37(data) 52 154
1451: 33(f16vec4) Load 1450
1452:165(f16vec3) VectorShuffle 1451 1451 0 1 2
1453: 17(ivec4) Load 19(ballot)
1454:165(f16vec3) GroupNonUniformIAdd 177 PartitionedReduceNV 1452 1453
1455: 160(ptr) AccessChain 37(data) 1449 154
1456: 33(f16vec4) Load 1455
1457: 33(f16vec4) VectorShuffle 1456 1454 4 5 6 3
Store 1455 1457
1458: 6(int) Load 8(invocation)
1459: 160(ptr) AccessChain 37(data) 58 154
1460: 33(f16vec4) Load 1459
1461: 17(ivec4) Load 19(ballot)
1462: 33(f16vec4) GroupNonUniformIAdd 177 PartitionedReduceNV 1460 1461
1463: 160(ptr) AccessChain 37(data) 1458 154
Store 1463 1462
1464: 6(int) Load 8(invocation)
1465: 155(ptr) AccessChain 37(data) 39 154 40
1466:32(float16_t) Load 1465
1467: 17(ivec4) Load 19(ballot)
1468:32(float16_t) GroupNonUniformIMul 177 PartitionedReduceNV 1466 1467
1469: 155(ptr) AccessChain 37(data) 1464 154 40
Store 1469 1468
1470: 6(int) Load 8(invocation)
1471: 160(ptr) AccessChain 37(data) 45 154
1472: 33(f16vec4) Load 1471
1473:159(f16vec2) VectorShuffle 1472 1472 0 1
1474: 17(ivec4) Load 19(ballot)
1475:159(f16vec2) GroupNonUniformIMul 177 PartitionedReduceNV 1473 1474
1476: 160(ptr) AccessChain 37(data) 1470 154
1477: 33(f16vec4) Load 1476
1478: 33(f16vec4) VectorShuffle 1477 1475 4 5 2 3
Store 1476 1478
1479: 6(int) Load 8(invocation)
1480: 160(ptr) AccessChain 37(data) 52 154
1481: 33(f16vec4) Load 1480
1482:165(f16vec3) VectorShuffle 1481 1481 0 1 2
1483: 17(ivec4) Load 19(ballot)
1484:165(f16vec3) GroupNonUniformIMul 177 PartitionedReduceNV 1482 1483
1485: 160(ptr) AccessChain 37(data) 1479 154
1486: 33(f16vec4) Load 1485
1487: 33(f16vec4) VectorShuffle 1486 1484 4 5 6 3
Store 1485 1487
1488: 6(int) Load 8(invocation)
1489: 160(ptr) AccessChain 37(data) 58 154
1490: 33(f16vec4) Load 1489
1491: 17(ivec4) Load 19(ballot)
1492: 33(f16vec4) GroupNonUniformIMul 177 PartitionedReduceNV 1490 1491
1493: 160(ptr) AccessChain 37(data) 1488 154
Store 1493 1492
1494: 6(int) Load 8(invocation)
1495: 155(ptr) AccessChain 37(data) 39 154 40
1496:32(float16_t) Load 1495
1497: 17(ivec4) Load 19(ballot)
1498:32(float16_t) GroupNonUniformSMin 177 PartitionedReduceNV 1496 1497
1499: 155(ptr) AccessChain 37(data) 1494 154 40
Store 1499 1498
1500: 6(int) Load 8(invocation)
1501: 160(ptr) AccessChain 37(data) 45 154
1502: 33(f16vec4) Load 1501
1503:159(f16vec2) VectorShuffle 1502 1502 0 1
1504: 17(ivec4) Load 19(ballot)
1505:159(f16vec2) GroupNonUniformSMin 177 PartitionedReduceNV 1503 1504
1506: 160(ptr) AccessChain 37(data) 1500 154
1507: 33(f16vec4) Load 1506
1508: 33(f16vec4) VectorShuffle 1507 1505 4 5 2 3
Store 1506 1508
1509: 6(int) Load 8(invocation)
1510: 160(ptr) AccessChain 37(data) 52 154
1511: 33(f16vec4) Load 1510
1512:165(f16vec3) VectorShuffle 1511 1511 0 1 2
1513: 17(ivec4) Load 19(ballot)
1514:165(f16vec3) GroupNonUniformSMin 177 PartitionedReduceNV 1512 1513
1515: 160(ptr) AccessChain 37(data) 1509 154
1516: 33(f16vec4) Load 1515
1517: 33(f16vec4) VectorShuffle 1516 1514 4 5 6 3
Store 1515 1517
1518: 6(int) Load 8(invocation)
1519: 160(ptr) AccessChain 37(data) 58 154
1520: 33(f16vec4) Load 1519
1521: 17(ivec4) Load 19(ballot)
1522: 33(f16vec4) GroupNonUniformSMin 177 PartitionedReduceNV 1520 1521
1523: 160(ptr) AccessChain 37(data) 1518 154
Store 1523 1522
1524: 6(int) Load 8(invocation)
1525: 155(ptr) AccessChain 37(data) 39 154 40
1526:32(float16_t) Load 1525
1527: 17(ivec4) Load 19(ballot)
1528:32(float16_t) GroupNonUniformSMax 177 PartitionedReduceNV 1526 1527
1529: 155(ptr) AccessChain 37(data) 1524 154 40
Store 1529 1528
1530: 6(int) Load 8(invocation)
1531: 160(ptr) AccessChain 37(data) 45 154
1532: 33(f16vec4) Load 1531
1533:159(f16vec2) VectorShuffle 1532 1532 0 1
1534: 17(ivec4) Load 19(ballot)
1535:159(f16vec2) GroupNonUniformSMax 177 PartitionedReduceNV 1533 1534
1536: 160(ptr) AccessChain 37(data) 1530 154
1537: 33(f16vec4) Load 1536
1538: 33(f16vec4) VectorShuffle 1537 1535 4 5 2 3
Store 1536 1538
1539: 6(int) Load 8(invocation)
1540: 160(ptr) AccessChain 37(data) 52 154
1541: 33(f16vec4) Load 1540
1542:165(f16vec3) VectorShuffle 1541 1541 0 1 2
1543: 17(ivec4) Load 19(ballot)
1544:165(f16vec3) GroupNonUniformSMax 177 PartitionedReduceNV 1542 1543
1545: 160(ptr) AccessChain 37(data) 1539 154
1546: 33(f16vec4) Load 1545
1547: 33(f16vec4) VectorShuffle 1546 1544 4 5 6 3
Store 1545 1547
1548: 6(int) Load 8(invocation)
1549: 160(ptr) AccessChain 37(data) 58 154
1550: 33(f16vec4) Load 1549
1551: 17(ivec4) Load 19(ballot)
1552: 33(f16vec4) GroupNonUniformSMax 177 PartitionedReduceNV 1550 1551
1553: 160(ptr) AccessChain 37(data) 1548 154
Store 1553 1552
Return
FunctionEnd
spv.subgroupExtendedTypesPartitionedNeg.comp
ERROR: 0:27: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:28: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:29: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:30: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:32: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:33: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:34: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:35: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:37: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:38: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:39: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:40: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:42: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:43: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:44: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:45: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:47: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:48: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:49: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:50: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:52: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:53: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:54: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:55: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:57: ' temp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:58: ' temp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:59: ' temp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:60: 'layout( column_major std430) buffer 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:62: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:63: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:64: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:65: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:67: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:68: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:69: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:70: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:72: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:73: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:74: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:75: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:77: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:78: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:79: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:80: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:82: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:83: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:84: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:85: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:87: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:88: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:89: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:90: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:92: ' temp int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:93: ' temp 2-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:94: ' temp 3-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:95: 'layout( column_major std430) buffer 4-component vector of int8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:97: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:98: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:99: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:100: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:102: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:103: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:104: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:105: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:107: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:108: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:109: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:110: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:112: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:113: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:114: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:115: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:117: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:118: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:119: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:120: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:122: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:123: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:124: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:125: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:127: ' temp uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:128: ' temp 2-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:129: ' temp 3-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:130: 'layout( column_major std430) buffer 4-component vector of uint8_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int8
ERROR: 0:132: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:133: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:134: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:135: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:137: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:138: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:139: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:140: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:142: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:143: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:144: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:145: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:147: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:148: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:149: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:150: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:152: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:153: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:154: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:155: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:157: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:158: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:159: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:160: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:162: ' temp int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:163: ' temp 2-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:164: ' temp 3-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:165: 'layout( column_major std430) buffer 4-component vector of int16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:167: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:168: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:169: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:170: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:172: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:173: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:174: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:175: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:177: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:178: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:179: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:180: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:182: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:183: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:184: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:185: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:187: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:188: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:189: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:190: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:192: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:193: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:194: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:195: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:197: ' temp uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:198: ' temp 2-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:199: ' temp 3-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:200: 'layout( column_major std430) buffer 4-component vector of uint16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int16
ERROR: 0:202: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:203: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:204: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:205: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:207: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:208: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:209: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:210: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:212: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:213: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:214: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:215: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:217: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:218: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:219: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:220: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:222: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:223: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:224: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:225: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:227: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:228: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:229: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:230: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:232: ' temp int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:233: ' temp 2-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:234: ' temp 3-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:235: 'layout( column_major std430) buffer 4-component vector of int64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:237: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:238: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:239: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:240: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:242: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:243: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:244: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:245: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:247: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:248: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:249: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:250: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:252: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:253: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:254: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:255: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:257: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:258: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:259: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:260: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:262: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:263: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:264: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:265: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:267: ' temp uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:268: ' temp 2-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:269: ' temp 3-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:270: 'layout( column_major std430) buffer 4-component vector of uint64_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_int64
ERROR: 0:272: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:273: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:274: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:275: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:277: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:278: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:279: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:280: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:282: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:283: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:284: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:285: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:287: ' temp highp float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:288: ' temp highp 2-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:289: ' temp highp 3-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 0:290: 'layout( column_major std430) buffer highp 4-component vector of float16_t' : required extension not requested: GL_EXT_shader_subgroup_extended_types_float16
ERROR: 212 compilation errors. No code generated.
SPIR-V is not generated for failed compile or link
#version 450
#extension GL_NV_shader_subgroup_partitioned: enable
#extension GL_EXT_shader_subgroup_extended_types_int8: enable
#extension GL_EXT_shader_subgroup_extended_types_int16: enable
#extension GL_EXT_shader_subgroup_extended_types_int64: enable
#extension GL_EXT_shader_subgroup_extended_types_float16: enable
layout (local_size_x = 8) in;
layout(binding = 0) buffer Buffers
{
i8vec4 i8;
u8vec4 u8;
i16vec4 i16;
u16vec4 u16;
i64vec4 i64;
u64vec4 u64;
f16vec4 f16;
} data[4];
void main()
{
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
uvec4 ballot;
ballot = subgroupPartitionNV(data[0].i8.x);
ballot = subgroupPartitionNV(data[1].i8.xy);
ballot = subgroupPartitionNV(data[2].i8.xyz);
ballot = subgroupPartitionNV(data[3].i8);
ballot = subgroupPartitionNV(data[0].u8.x);
ballot = subgroupPartitionNV(data[1].u8.xy);
ballot = subgroupPartitionNV(data[2].u8.xyz);
ballot = subgroupPartitionNV(data[3].u8);
ballot = subgroupPartitionNV(data[0].i16.x);
ballot = subgroupPartitionNV(data[1].i16.xy);
ballot = subgroupPartitionNV(data[2].i16.xyz);
ballot = subgroupPartitionNV(data[3].i16);
ballot = subgroupPartitionNV(data[0].u16.x);
ballot = subgroupPartitionNV(data[1].u16.xy);
ballot = subgroupPartitionNV(data[2].u16.xyz);
ballot = subgroupPartitionNV(data[3].u16);
ballot = subgroupPartitionNV(data[0].i64.x);
ballot = subgroupPartitionNV(data[1].i64.xy);
ballot = subgroupPartitionNV(data[2].i64.xyz);
ballot = subgroupPartitionNV(data[3].i64);
ballot = subgroupPartitionNV(data[0].u64.x);
ballot = subgroupPartitionNV(data[1].u64.xy);
ballot = subgroupPartitionNV(data[2].u64.xyz);
ballot = subgroupPartitionNV(data[3].u64);
ballot = subgroupPartitionNV(data[0].f16.x);
ballot = subgroupPartitionNV(data[1].f16.xy);
ballot = subgroupPartitionNV(data[2].f16.xyz);
ballot = subgroupPartitionNV(data[3].f16);
data[invocation].i8.x = subgroupPartitionedAddNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedAddNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedAddNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedAddNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMulNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMulNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMulNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMulNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMinNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMinNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMinNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMinNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMaxNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMaxNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMaxNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMaxNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedAndNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedAndNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedAndNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedAndNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedOrNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedOrNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedOrNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedOrNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedXorNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedXorNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedXorNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedXorNV(data[3].i8, ballot);
data[invocation].u8.x = subgroupPartitionedAddNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedAddNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedAddNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedAddNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMulNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMulNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMulNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMulNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMinNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMinNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMinNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMinNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMaxNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMaxNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMaxNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMaxNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedAndNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedAndNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedAndNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedAndNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedOrNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedOrNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedOrNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedOrNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedXorNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedXorNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedXorNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedXorNV(data[3].u8, ballot);
data[invocation].i16.x = subgroupPartitionedAddNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedAddNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedAddNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedAddNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMulNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMulNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMulNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMulNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMinNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMinNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMinNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMinNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMaxNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMaxNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMaxNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMaxNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedAndNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedAndNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedAndNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedAndNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedOrNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedOrNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedOrNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedOrNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedXorNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedXorNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedXorNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedXorNV(data[3].i16, ballot);
data[invocation].u16.x = subgroupPartitionedAddNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedAddNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedAddNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedAddNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMulNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMulNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMulNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMulNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMinNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMinNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMinNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMinNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMaxNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMaxNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMaxNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMaxNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedAndNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedAndNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedAndNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedAndNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedOrNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedOrNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedOrNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedOrNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedXorNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedXorNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedXorNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedXorNV(data[3].u16, ballot);
data[invocation].i64.x = subgroupPartitionedAddNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedAddNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedAddNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedAddNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMulNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMulNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMulNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMulNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMinNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMinNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMinNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMinNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMaxNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMaxNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMaxNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMaxNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedAndNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedAndNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedAndNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedAndNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedOrNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedOrNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedOrNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedOrNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedXorNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedXorNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedXorNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedXorNV(data[3].i64, ballot);
data[invocation].u64.x = subgroupPartitionedAddNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedAddNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedAddNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedAddNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMulNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMulNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMulNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMulNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMinNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMinNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMinNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMinNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMaxNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMaxNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMaxNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMaxNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedAndNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedAndNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedAndNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedAndNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedOrNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedOrNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedOrNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedOrNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedXorNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedXorNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedXorNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedXorNV(data[3].u64, ballot);
data[invocation].f16.x = subgroupPartitionedAddNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedAddNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedAddNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedAddNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMulNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMulNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMulNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMulNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMinNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMinNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMinNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMinNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMaxNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMaxNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMaxNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMaxNV(data[3].f16, ballot);
}
#version 450
#extension GL_NV_shader_subgroup_partitioned: enable
#extension GL_EXT_shader_explicit_arithmetic_types_int8: enable
#extension GL_EXT_shader_explicit_arithmetic_types_int16: enable
#extension GL_EXT_shader_explicit_arithmetic_types_int64: enable
#extension GL_EXT_shader_explicit_arithmetic_types_float16: enable
layout (local_size_x = 8) in;
layout(binding = 0) buffer Buffers
{
i8vec4 i8;
u8vec4 u8;
i16vec4 i16;
u16vec4 u16;
i64vec4 i64;
u64vec4 u64;
f16vec4 f16;
} data[4];
void main()
{
uint invocation = (gl_SubgroupInvocationID + gl_SubgroupSize) % 4;
uvec4 ballot;
ballot = subgroupPartitionNV(data[0].i8.x);
ballot = subgroupPartitionNV(data[1].i8.xy);
ballot = subgroupPartitionNV(data[2].i8.xyz);
ballot = subgroupPartitionNV(data[3].i8);
ballot = subgroupPartitionNV(data[0].u8.x);
ballot = subgroupPartitionNV(data[1].u8.xy);
ballot = subgroupPartitionNV(data[2].u8.xyz);
ballot = subgroupPartitionNV(data[3].u8);
ballot = subgroupPartitionNV(data[0].i16.x);
ballot = subgroupPartitionNV(data[1].i16.xy);
ballot = subgroupPartitionNV(data[2].i16.xyz);
ballot = subgroupPartitionNV(data[3].i16);
ballot = subgroupPartitionNV(data[0].u16.x);
ballot = subgroupPartitionNV(data[1].u16.xy);
ballot = subgroupPartitionNV(data[2].u16.xyz);
ballot = subgroupPartitionNV(data[3].u16);
ballot = subgroupPartitionNV(data[0].i64.x);
ballot = subgroupPartitionNV(data[1].i64.xy);
ballot = subgroupPartitionNV(data[2].i64.xyz);
ballot = subgroupPartitionNV(data[3].i64);
ballot = subgroupPartitionNV(data[0].u64.x);
ballot = subgroupPartitionNV(data[1].u64.xy);
ballot = subgroupPartitionNV(data[2].u64.xyz);
ballot = subgroupPartitionNV(data[3].u64);
ballot = subgroupPartitionNV(data[0].f16.x);
ballot = subgroupPartitionNV(data[1].f16.xy);
ballot = subgroupPartitionNV(data[2].f16.xyz);
ballot = subgroupPartitionNV(data[3].f16);
data[invocation].i8.x = subgroupPartitionedAddNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedAddNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedAddNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedAddNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMulNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMulNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMulNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMulNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMinNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMinNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMinNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMinNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedMaxNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedMaxNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedMaxNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedMaxNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedAndNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedAndNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedAndNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedAndNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedOrNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedOrNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedOrNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedOrNV(data[3].i8, ballot);
data[invocation].i8.x = subgroupPartitionedXorNV(data[0].i8.x, ballot);
data[invocation].i8.xy = subgroupPartitionedXorNV(data[1].i8.xy, ballot);
data[invocation].i8.xyz = subgroupPartitionedXorNV(data[2].i8.xyz, ballot);
data[invocation].i8 = subgroupPartitionedXorNV(data[3].i8, ballot);
data[invocation].u8.x = subgroupPartitionedAddNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedAddNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedAddNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedAddNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMulNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMulNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMulNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMulNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMinNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMinNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMinNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMinNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedMaxNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedMaxNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedMaxNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedMaxNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedAndNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedAndNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedAndNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedAndNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedOrNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedOrNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedOrNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedOrNV(data[3].u8, ballot);
data[invocation].u8.x = subgroupPartitionedXorNV(data[0].u8.x, ballot);
data[invocation].u8.xy = subgroupPartitionedXorNV(data[1].u8.xy, ballot);
data[invocation].u8.xyz = subgroupPartitionedXorNV(data[2].u8.xyz, ballot);
data[invocation].u8 = subgroupPartitionedXorNV(data[3].u8, ballot);
data[invocation].i16.x = subgroupPartitionedAddNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedAddNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedAddNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedAddNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMulNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMulNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMulNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMulNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMinNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMinNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMinNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMinNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedMaxNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedMaxNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedMaxNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedMaxNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedAndNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedAndNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedAndNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedAndNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedOrNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedOrNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedOrNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedOrNV(data[3].i16, ballot);
data[invocation].i16.x = subgroupPartitionedXorNV(data[0].i16.x, ballot);
data[invocation].i16.xy = subgroupPartitionedXorNV(data[1].i16.xy, ballot);
data[invocation].i16.xyz = subgroupPartitionedXorNV(data[2].i16.xyz, ballot);
data[invocation].i16 = subgroupPartitionedXorNV(data[3].i16, ballot);
data[invocation].u16.x = subgroupPartitionedAddNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedAddNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedAddNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedAddNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMulNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMulNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMulNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMulNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMinNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMinNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMinNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMinNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedMaxNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedMaxNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedMaxNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedMaxNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedAndNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedAndNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedAndNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedAndNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedOrNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedOrNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedOrNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedOrNV(data[3].u16, ballot);
data[invocation].u16.x = subgroupPartitionedXorNV(data[0].u16.x, ballot);
data[invocation].u16.xy = subgroupPartitionedXorNV(data[1].u16.xy, ballot);
data[invocation].u16.xyz = subgroupPartitionedXorNV(data[2].u16.xyz, ballot);
data[invocation].u16 = subgroupPartitionedXorNV(data[3].u16, ballot);
data[invocation].i64.x = subgroupPartitionedAddNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedAddNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedAddNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedAddNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMulNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMulNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMulNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMulNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMinNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMinNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMinNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMinNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedMaxNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedMaxNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedMaxNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedMaxNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedAndNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedAndNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedAndNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedAndNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedOrNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedOrNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedOrNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedOrNV(data[3].i64, ballot);
data[invocation].i64.x = subgroupPartitionedXorNV(data[0].i64.x, ballot);
data[invocation].i64.xy = subgroupPartitionedXorNV(data[1].i64.xy, ballot);
data[invocation].i64.xyz = subgroupPartitionedXorNV(data[2].i64.xyz, ballot);
data[invocation].i64 = subgroupPartitionedXorNV(data[3].i64, ballot);
data[invocation].u64.x = subgroupPartitionedAddNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedAddNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedAddNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedAddNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMulNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMulNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMulNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMulNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMinNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMinNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMinNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMinNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedMaxNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedMaxNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedMaxNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedMaxNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedAndNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedAndNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedAndNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedAndNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedOrNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedOrNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedOrNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedOrNV(data[3].u64, ballot);
data[invocation].u64.x = subgroupPartitionedXorNV(data[0].u64.x, ballot);
data[invocation].u64.xy = subgroupPartitionedXorNV(data[1].u64.xy, ballot);
data[invocation].u64.xyz = subgroupPartitionedXorNV(data[2].u64.xyz, ballot);
data[invocation].u64 = subgroupPartitionedXorNV(data[3].u64, ballot);
data[invocation].f16.x = subgroupPartitionedAddNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedAddNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedAddNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedAddNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMulNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMulNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMulNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMulNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMinNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMinNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMinNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMinNV(data[3].f16, ballot);
data[invocation].f16.x = subgroupPartitionedMaxNV(data[0].f16.x, ballot);
data[invocation].f16.xy = subgroupPartitionedMaxNV(data[1].f16.xy, ballot);
data[invocation].f16.xyz = subgroupPartitionedMaxNV(data[2].f16.xyz, ballot);
data[invocation].f16 = subgroupPartitionedMaxNV(data[3].f16, ballot);
}
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -451,6 +451,8 @@ INSTANTIATE_TEST_CASE_P(
"spv.subgroupExtendedTypesBallotNeg.comp",
"spv.subgroupExtendedTypesClustered.comp",
"spv.subgroupExtendedTypesClusteredNeg.comp",
"spv.subgroupExtendedTypesPartitioned.comp",
"spv.subgroupExtendedTypesPartitionedNeg.comp",
"spv.subgroupExtendedTypesShuffle.comp",
"spv.subgroupExtendedTypesShuffleNeg.comp",
"spv.subgroupExtendedTypesShuffleRelative.comp",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment