glslang-zig/Test/baseResults/spv.subgroupRotate.comp.out
Matthew Moulton 5073d93ec4
Apply GLSL memory decorations to top-level OpVariable
Apply memory decorations from GLSL source to the top-level OpVariable.
Previously, these decorations would only be applied to individual
members. While this is correct behavior, it is more convenient for some
front ends to see the decorations (specifically ReadOnly and WriteOnly)
applied to the whole variable rather than individual members.
2024-08-28 17:46:16 -04:00

529 lines
27 KiB
Text

spv.subgroupRotate.comp
// Module Version 10300
// Generated by (magic number): 8000b
// Id's are bound by 418
Capability Shader
Capability Float64
Capability CapabilityGroupNonUniformRotateKHR
Extension "SPV_KHR_subgroup_rotate"
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint GLCompute 4 "main"
ExecutionMode 4 LocalSize 8 8 1
Source GLSL 450
SourceExtension "GL_KHR_shader_subgroup_rotate"
Name 4 "main"
Name 8 "delta"
Name 9 "roblock"
MemberName 9(roblock) 0 "delta"
Name 11 "ro"
Name 23 "Buffers"
MemberName 23(Buffers) 0 "f4"
MemberName 23(Buffers) 1 "i4"
MemberName 23(Buffers) 2 "u4"
MemberName 23(Buffers) 3 "d4"
Name 27 "data"
Decorate 9(roblock) Block
MemberDecorate 9(roblock) 0 NonWritable
MemberDecorate 9(roblock) 0 Offset 0
Decorate 11(ro) NonWritable
Decorate 11(ro) Binding 1
Decorate 11(ro) DescriptorSet 0
Decorate 23(Buffers) Block
MemberDecorate 23(Buffers) 0 Offset 0
MemberDecorate 23(Buffers) 1 Offset 16
MemberDecorate 23(Buffers) 2 Offset 32
MemberDecorate 23(Buffers) 3 Offset 64
Decorate 27(data) Binding 0
Decorate 27(data) DescriptorSet 0
Decorate 417 BuiltIn WorkgroupSize
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 0
7: TypePointer Function 6(int)
9(roblock): TypeStruct 6(int)
10: TypePointer StorageBuffer 9(roblock)
11(ro): 10(ptr) Variable StorageBuffer
12: TypeInt 32 1
13: 12(int) Constant 0
14: TypePointer StorageBuffer 6(int)
17: TypeFloat 32
18: TypeVector 17(float) 4
19: TypeVector 12(int) 4
20: TypeVector 6(int) 4
21: TypeFloat 64
22: TypeVector 21(float64_t) 4
23(Buffers): TypeStruct 18(fvec4) 19(ivec4) 20(ivec4) 22(f64vec4)
24: 6(int) Constant 4
25: TypeArray 23(Buffers) 24
26: TypePointer StorageBuffer 25
27(data): 26(ptr) Variable StorageBuffer
29: 6(int) Constant 0
30: TypePointer StorageBuffer 17(float)
34: 6(int) Constant 3
38: 12(int) Constant 1
39: TypeVector 17(float) 2
40: TypePointer StorageBuffer 18(fvec4)
48: 6(int) Constant 1
52: 12(int) Constant 2
53: TypeVector 17(float) 3
63: 6(int) Constant 2
67: 12(int) Constant 3
74: TypePointer StorageBuffer 12(int)
81: TypeVector 12(int) 2
82: TypePointer StorageBuffer 19(ivec4)
93: TypeVector 12(int) 3
118: TypeVector 6(int) 2
119: TypePointer StorageBuffer 20(ivec4)
130: TypeVector 6(int) 3
149: TypePointer StorageBuffer 21(float64_t)
156: TypeVector 21(float64_t) 2
157: TypePointer StorageBuffer 22(f64vec4)
168: TypeVector 21(float64_t) 3
189: TypeBool
199: 81(ivec2) ConstantComposite 13 13
200: TypeVector 189(bool) 2
204: 81(ivec2) ConstantComposite 38 38
214: 93(ivec3) ConstantComposite 13 13 13
215: TypeVector 189(bool) 3
219: 93(ivec3) ConstantComposite 38 38 38
230: 19(ivec4) ConstantComposite 13 13 13 13
231: TypeVector 189(bool) 4
235: 19(ivec4) ConstantComposite 38 38 38 38
416: 6(int) Constant 8
417: 130(ivec3) ConstantComposite 416 416 48
4(main): 2 Function None 3
5: Label
8(delta): 7(ptr) Variable Function
15: 14(ptr) AccessChain 11(ro) 13
16: 6(int) Load 15
Store 8(delta) 16
28: 6(int) Load 8(delta)
31: 30(ptr) AccessChain 27(data) 13 13 29
32: 17(float) Load 31
33: 6(int) Load 8(delta)
35: 17(float) GroupNonUniformRotateKHR 34 32 33
36: 30(ptr) AccessChain 27(data) 28 13 29
Store 36 35
37: 6(int) Load 8(delta)
41: 40(ptr) AccessChain 27(data) 38 13
42: 18(fvec4) Load 41
43: 39(fvec2) VectorShuffle 42 42 0 1
44: 6(int) Load 8(delta)
45: 39(fvec2) GroupNonUniformRotateKHR 34 43 44
46: 30(ptr) AccessChain 27(data) 37 13 29
47: 17(float) CompositeExtract 45 0
Store 46 47
49: 30(ptr) AccessChain 27(data) 37 13 48
50: 17(float) CompositeExtract 45 1
Store 49 50
51: 6(int) Load 8(delta)
54: 40(ptr) AccessChain 27(data) 52 13
55: 18(fvec4) Load 54
56: 53(fvec3) VectorShuffle 55 55 0 1 2
57: 6(int) Load 8(delta)
58: 53(fvec3) GroupNonUniformRotateKHR 34 56 57
59: 30(ptr) AccessChain 27(data) 51 13 29
60: 17(float) CompositeExtract 58 0
Store 59 60
61: 30(ptr) AccessChain 27(data) 51 13 48
62: 17(float) CompositeExtract 58 1
Store 61 62
64: 30(ptr) AccessChain 27(data) 51 13 63
65: 17(float) CompositeExtract 58 2
Store 64 65
66: 6(int) Load 8(delta)
68: 40(ptr) AccessChain 27(data) 67 13
69: 18(fvec4) Load 68
70: 6(int) Load 8(delta)
71: 18(fvec4) GroupNonUniformRotateKHR 34 69 70
72: 40(ptr) AccessChain 27(data) 66 13
Store 72 71
73: 6(int) Load 8(delta)
75: 74(ptr) AccessChain 27(data) 13 38 29
76: 12(int) Load 75
77: 6(int) Load 8(delta)
78: 12(int) GroupNonUniformRotateKHR 34 76 77
79: 74(ptr) AccessChain 27(data) 73 38 29
Store 79 78
80: 6(int) Load 8(delta)
83: 82(ptr) AccessChain 27(data) 38 38
84: 19(ivec4) Load 83
85: 81(ivec2) VectorShuffle 84 84 0 1
86: 6(int) Load 8(delta)
87: 81(ivec2) GroupNonUniformRotateKHR 34 85 86
88: 74(ptr) AccessChain 27(data) 80 38 29
89: 12(int) CompositeExtract 87 0
Store 88 89
90: 74(ptr) AccessChain 27(data) 80 38 48
91: 12(int) CompositeExtract 87 1
Store 90 91
92: 6(int) Load 8(delta)
94: 82(ptr) AccessChain 27(data) 52 38
95: 19(ivec4) Load 94
96: 93(ivec3) VectorShuffle 95 95 0 1 2
97: 6(int) Load 8(delta)
98: 93(ivec3) GroupNonUniformRotateKHR 34 96 97
99: 74(ptr) AccessChain 27(data) 92 38 29
100: 12(int) CompositeExtract 98 0
Store 99 100
101: 74(ptr) AccessChain 27(data) 92 38 48
102: 12(int) CompositeExtract 98 1
Store 101 102
103: 74(ptr) AccessChain 27(data) 92 38 63
104: 12(int) CompositeExtract 98 2
Store 103 104
105: 6(int) Load 8(delta)
106: 82(ptr) AccessChain 27(data) 67 38
107: 19(ivec4) Load 106
108: 6(int) Load 8(delta)
109: 19(ivec4) GroupNonUniformRotateKHR 34 107 108
110: 82(ptr) AccessChain 27(data) 105 38
Store 110 109
111: 6(int) Load 8(delta)
112: 14(ptr) AccessChain 27(data) 13 52 29
113: 6(int) Load 112
114: 6(int) Load 8(delta)
115: 6(int) GroupNonUniformRotateKHR 34 113 114
116: 14(ptr) AccessChain 27(data) 111 52 29
Store 116 115
117: 6(int) Load 8(delta)
120: 119(ptr) AccessChain 27(data) 38 52
121: 20(ivec4) Load 120
122: 118(ivec2) VectorShuffle 121 121 0 1
123: 6(int) Load 8(delta)
124: 118(ivec2) GroupNonUniformRotateKHR 34 122 123
125: 14(ptr) AccessChain 27(data) 117 52 29
126: 6(int) CompositeExtract 124 0
Store 125 126
127: 14(ptr) AccessChain 27(data) 117 52 48
128: 6(int) CompositeExtract 124 1
Store 127 128
129: 6(int) Load 8(delta)
131: 119(ptr) AccessChain 27(data) 52 52
132: 20(ivec4) Load 131
133: 130(ivec3) VectorShuffle 132 132 0 1 2
134: 6(int) Load 8(delta)
135: 130(ivec3) GroupNonUniformRotateKHR 34 133 134
136: 14(ptr) AccessChain 27(data) 129 52 29
137: 6(int) CompositeExtract 135 0
Store 136 137
138: 14(ptr) AccessChain 27(data) 129 52 48
139: 6(int) CompositeExtract 135 1
Store 138 139
140: 14(ptr) AccessChain 27(data) 129 52 63
141: 6(int) CompositeExtract 135 2
Store 140 141
142: 6(int) Load 8(delta)
143: 119(ptr) AccessChain 27(data) 67 52
144: 20(ivec4) Load 143
145: 6(int) Load 8(delta)
146: 20(ivec4) GroupNonUniformRotateKHR 34 144 145
147: 119(ptr) AccessChain 27(data) 142 52
Store 147 146
148: 6(int) Load 8(delta)
150: 149(ptr) AccessChain 27(data) 13 67 29
151:21(float64_t) Load 150
152: 6(int) Load 8(delta)
153:21(float64_t) GroupNonUniformRotateKHR 34 151 152
154: 149(ptr) AccessChain 27(data) 148 67 29
Store 154 153
155: 6(int) Load 8(delta)
158: 157(ptr) AccessChain 27(data) 38 67
159: 22(f64vec4) Load 158
160:156(f64vec2) VectorShuffle 159 159 0 1
161: 6(int) Load 8(delta)
162:156(f64vec2) GroupNonUniformRotateKHR 34 160 161
163: 149(ptr) AccessChain 27(data) 155 67 29
164:21(float64_t) CompositeExtract 162 0
Store 163 164
165: 149(ptr) AccessChain 27(data) 155 67 48
166:21(float64_t) CompositeExtract 162 1
Store 165 166
167: 6(int) Load 8(delta)
169: 157(ptr) AccessChain 27(data) 52 67
170: 22(f64vec4) Load 169
171:168(f64vec3) VectorShuffle 170 170 0 1 2
172: 6(int) Load 8(delta)
173:168(f64vec3) GroupNonUniformRotateKHR 34 171 172
174: 149(ptr) AccessChain 27(data) 167 67 29
175:21(float64_t) CompositeExtract 173 0
Store 174 175
176: 149(ptr) AccessChain 27(data) 167 67 48
177:21(float64_t) CompositeExtract 173 1
Store 176 177
178: 149(ptr) AccessChain 27(data) 167 67 63
179:21(float64_t) CompositeExtract 173 2
Store 178 179
180: 6(int) Load 8(delta)
181: 157(ptr) AccessChain 27(data) 67 67
182: 22(f64vec4) Load 181
183: 6(int) Load 8(delta)
184: 22(f64vec4) GroupNonUniformRotateKHR 34 182 183
185: 157(ptr) AccessChain 27(data) 180 67
Store 185 184
186: 6(int) Load 8(delta)
187: 74(ptr) AccessChain 27(data) 13 38 29
188: 12(int) Load 187
190: 189(bool) SLessThan 188 13
191: 6(int) Load 8(delta)
192: 189(bool) GroupNonUniformRotateKHR 34 190 191
193: 12(int) Select 192 38 13
194: 74(ptr) AccessChain 27(data) 186 38 29
Store 194 193
195: 6(int) Load 8(delta)
196: 82(ptr) AccessChain 27(data) 38 38
197: 19(ivec4) Load 196
198: 81(ivec2) VectorShuffle 197 197 0 1
201: 200(bvec2) SLessThan 198 199
202: 6(int) Load 8(delta)
203: 200(bvec2) GroupNonUniformRotateKHR 34 201 202
205: 81(ivec2) Select 203 204 199
206: 74(ptr) AccessChain 27(data) 195 38 29
207: 12(int) CompositeExtract 205 0
Store 206 207
208: 74(ptr) AccessChain 27(data) 195 38 48
209: 12(int) CompositeExtract 205 1
Store 208 209
210: 6(int) Load 8(delta)
211: 82(ptr) AccessChain 27(data) 38 38
212: 19(ivec4) Load 211
213: 93(ivec3) VectorShuffle 212 212 0 1 2
216: 215(bvec3) SLessThan 213 214
217: 6(int) Load 8(delta)
218: 215(bvec3) GroupNonUniformRotateKHR 34 216 217
220: 93(ivec3) Select 218 219 214
221: 74(ptr) AccessChain 27(data) 210 38 29
222: 12(int) CompositeExtract 220 0
Store 221 222
223: 74(ptr) AccessChain 27(data) 210 38 48
224: 12(int) CompositeExtract 220 1
Store 223 224
225: 74(ptr) AccessChain 27(data) 210 38 63
226: 12(int) CompositeExtract 220 2
Store 225 226
227: 6(int) Load 8(delta)
228: 82(ptr) AccessChain 27(data) 38 38
229: 19(ivec4) Load 228
232: 231(bvec4) SLessThan 229 230
233: 6(int) Load 8(delta)
234: 231(bvec4) GroupNonUniformRotateKHR 34 232 233
236: 19(ivec4) Select 234 235 230
237: 82(ptr) AccessChain 27(data) 227 38
Store 237 236
238: 6(int) Load 8(delta)
239: 30(ptr) AccessChain 27(data) 13 13 29
240: 17(float) Load 239
241: 6(int) Load 8(delta)
242: 17(float) GroupNonUniformRotateKHR 34 240 241 48
243: 30(ptr) AccessChain 27(data) 238 13 29
Store 243 242
244: 6(int) Load 8(delta)
245: 40(ptr) AccessChain 27(data) 38 13
246: 18(fvec4) Load 245
247: 39(fvec2) VectorShuffle 246 246 0 1
248: 6(int) Load 8(delta)
249: 39(fvec2) GroupNonUniformRotateKHR 34 247 248 48
250: 30(ptr) AccessChain 27(data) 244 13 29
251: 17(float) CompositeExtract 249 0
Store 250 251
252: 30(ptr) AccessChain 27(data) 244 13 48
253: 17(float) CompositeExtract 249 1
Store 252 253
254: 6(int) Load 8(delta)
255: 40(ptr) AccessChain 27(data) 52 13
256: 18(fvec4) Load 255
257: 53(fvec3) VectorShuffle 256 256 0 1 2
258: 6(int) Load 8(delta)
259: 53(fvec3) GroupNonUniformRotateKHR 34 257 258 48
260: 30(ptr) AccessChain 27(data) 254 13 29
261: 17(float) CompositeExtract 259 0
Store 260 261
262: 30(ptr) AccessChain 27(data) 254 13 48
263: 17(float) CompositeExtract 259 1
Store 262 263
264: 30(ptr) AccessChain 27(data) 254 13 63
265: 17(float) CompositeExtract 259 2
Store 264 265
266: 6(int) Load 8(delta)
267: 40(ptr) AccessChain 27(data) 67 13
268: 18(fvec4) Load 267
269: 6(int) Load 8(delta)
270: 18(fvec4) GroupNonUniformRotateKHR 34 268 269 48
271: 40(ptr) AccessChain 27(data) 266 13
Store 271 270
272: 6(int) Load 8(delta)
273: 74(ptr) AccessChain 27(data) 13 38 29
274: 12(int) Load 273
275: 6(int) Load 8(delta)
276: 12(int) GroupNonUniformRotateKHR 34 274 275 48
277: 74(ptr) AccessChain 27(data) 272 38 29
Store 277 276
278: 6(int) Load 8(delta)
279: 82(ptr) AccessChain 27(data) 38 38
280: 19(ivec4) Load 279
281: 81(ivec2) VectorShuffle 280 280 0 1
282: 6(int) Load 8(delta)
283: 81(ivec2) GroupNonUniformRotateKHR 34 281 282 48
284: 74(ptr) AccessChain 27(data) 278 38 29
285: 12(int) CompositeExtract 283 0
Store 284 285
286: 74(ptr) AccessChain 27(data) 278 38 48
287: 12(int) CompositeExtract 283 1
Store 286 287
288: 6(int) Load 8(delta)
289: 82(ptr) AccessChain 27(data) 52 38
290: 19(ivec4) Load 289
291: 93(ivec3) VectorShuffle 290 290 0 1 2
292: 6(int) Load 8(delta)
293: 93(ivec3) GroupNonUniformRotateKHR 34 291 292 48
294: 74(ptr) AccessChain 27(data) 288 38 29
295: 12(int) CompositeExtract 293 0
Store 294 295
296: 74(ptr) AccessChain 27(data) 288 38 48
297: 12(int) CompositeExtract 293 1
Store 296 297
298: 74(ptr) AccessChain 27(data) 288 38 63
299: 12(int) CompositeExtract 293 2
Store 298 299
300: 6(int) Load 8(delta)
301: 82(ptr) AccessChain 27(data) 67 38
302: 19(ivec4) Load 301
303: 6(int) Load 8(delta)
304: 19(ivec4) GroupNonUniformRotateKHR 34 302 303 48
305: 82(ptr) AccessChain 27(data) 300 38
Store 305 304
306: 6(int) Load 8(delta)
307: 14(ptr) AccessChain 27(data) 13 52 29
308: 6(int) Load 307
309: 6(int) Load 8(delta)
310: 6(int) GroupNonUniformRotateKHR 34 308 309 48
311: 14(ptr) AccessChain 27(data) 306 52 29
Store 311 310
312: 6(int) Load 8(delta)
313: 119(ptr) AccessChain 27(data) 38 52
314: 20(ivec4) Load 313
315: 118(ivec2) VectorShuffle 314 314 0 1
316: 6(int) Load 8(delta)
317: 118(ivec2) GroupNonUniformRotateKHR 34 315 316 48
318: 14(ptr) AccessChain 27(data) 312 52 29
319: 6(int) CompositeExtract 317 0
Store 318 319
320: 14(ptr) AccessChain 27(data) 312 52 48
321: 6(int) CompositeExtract 317 1
Store 320 321
322: 6(int) Load 8(delta)
323: 119(ptr) AccessChain 27(data) 52 52
324: 20(ivec4) Load 323
325: 130(ivec3) VectorShuffle 324 324 0 1 2
326: 6(int) Load 8(delta)
327: 130(ivec3) GroupNonUniformRotateKHR 34 325 326 48
328: 14(ptr) AccessChain 27(data) 322 52 29
329: 6(int) CompositeExtract 327 0
Store 328 329
330: 14(ptr) AccessChain 27(data) 322 52 48
331: 6(int) CompositeExtract 327 1
Store 330 331
332: 14(ptr) AccessChain 27(data) 322 52 63
333: 6(int) CompositeExtract 327 2
Store 332 333
334: 6(int) Load 8(delta)
335: 119(ptr) AccessChain 27(data) 67 52
336: 20(ivec4) Load 335
337: 6(int) Load 8(delta)
338: 20(ivec4) GroupNonUniformRotateKHR 34 336 337 48
339: 119(ptr) AccessChain 27(data) 334 52
Store 339 338
340: 6(int) Load 8(delta)
341: 149(ptr) AccessChain 27(data) 13 67 29
342:21(float64_t) Load 341
343: 6(int) Load 8(delta)
344:21(float64_t) GroupNonUniformRotateKHR 34 342 343 48
345: 149(ptr) AccessChain 27(data) 340 67 29
Store 345 344
346: 6(int) Load 8(delta)
347: 157(ptr) AccessChain 27(data) 38 67
348: 22(f64vec4) Load 347
349:156(f64vec2) VectorShuffle 348 348 0 1
350: 6(int) Load 8(delta)
351:156(f64vec2) GroupNonUniformRotateKHR 34 349 350 48
352: 149(ptr) AccessChain 27(data) 346 67 29
353:21(float64_t) CompositeExtract 351 0
Store 352 353
354: 149(ptr) AccessChain 27(data) 346 67 48
355:21(float64_t) CompositeExtract 351 1
Store 354 355
356: 6(int) Load 8(delta)
357: 157(ptr) AccessChain 27(data) 52 67
358: 22(f64vec4) Load 357
359:168(f64vec3) VectorShuffle 358 358 0 1 2
360: 6(int) Load 8(delta)
361:168(f64vec3) GroupNonUniformRotateKHR 34 359 360 48
362: 149(ptr) AccessChain 27(data) 356 67 29
363:21(float64_t) CompositeExtract 361 0
Store 362 363
364: 149(ptr) AccessChain 27(data) 356 67 48
365:21(float64_t) CompositeExtract 361 1
Store 364 365
366: 149(ptr) AccessChain 27(data) 356 67 63
367:21(float64_t) CompositeExtract 361 2
Store 366 367
368: 6(int) Load 8(delta)
369: 157(ptr) AccessChain 27(data) 67 67
370: 22(f64vec4) Load 369
371: 6(int) Load 8(delta)
372: 22(f64vec4) GroupNonUniformRotateKHR 34 370 371 48
373: 157(ptr) AccessChain 27(data) 368 67
Store 373 372
374: 6(int) Load 8(delta)
375: 74(ptr) AccessChain 27(data) 13 38 29
376: 12(int) Load 375
377: 189(bool) SLessThan 376 13
378: 6(int) Load 8(delta)
379: 189(bool) GroupNonUniformRotateKHR 34 377 378 48
380: 12(int) Select 379 38 13
381: 74(ptr) AccessChain 27(data) 374 38 29
Store 381 380
382: 6(int) Load 8(delta)
383: 82(ptr) AccessChain 27(data) 38 38
384: 19(ivec4) Load 383
385: 81(ivec2) VectorShuffle 384 384 0 1
386: 200(bvec2) SLessThan 385 199
387: 6(int) Load 8(delta)
388: 200(bvec2) GroupNonUniformRotateKHR 34 386 387 48
389: 81(ivec2) Select 388 204 199
390: 74(ptr) AccessChain 27(data) 382 38 29
391: 12(int) CompositeExtract 389 0
Store 390 391
392: 74(ptr) AccessChain 27(data) 382 38 48
393: 12(int) CompositeExtract 389 1
Store 392 393
394: 6(int) Load 8(delta)
395: 82(ptr) AccessChain 27(data) 38 38
396: 19(ivec4) Load 395
397: 93(ivec3) VectorShuffle 396 396 0 1 2
398: 215(bvec3) SLessThan 397 214
399: 6(int) Load 8(delta)
400: 215(bvec3) GroupNonUniformRotateKHR 34 398 399 48
401: 93(ivec3) Select 400 219 214
402: 74(ptr) AccessChain 27(data) 394 38 29
403: 12(int) CompositeExtract 401 0
Store 402 403
404: 74(ptr) AccessChain 27(data) 394 38 48
405: 12(int) CompositeExtract 401 1
Store 404 405
406: 74(ptr) AccessChain 27(data) 394 38 63
407: 12(int) CompositeExtract 401 2
Store 406 407
408: 6(int) Load 8(delta)
409: 82(ptr) AccessChain 27(data) 38 38
410: 19(ivec4) Load 409
411: 231(bvec4) SLessThan 410 230
412: 6(int) Load 8(delta)
413: 231(bvec4) GroupNonUniformRotateKHR 34 411 412 48
414: 19(ivec4) Select 413 235 230
415: 82(ptr) AccessChain 27(data) 408 38
Store 415 414
Return
FunctionEnd