blob: 5fbb922e12735e486cfc3b0fae938b4705f0a616 [file] [log] [blame]
spv.image.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 405
Capability Shader
Capability StorageImageMultisample
Capability ImageCubeArray
Capability ImageRect
Capability Image1D
Capability ImageBuffer
Capability ImageMSArray
Capability StorageImageExtendedFormats
Capability ImageQuery
Capability StorageImageWriteWithoutFormat
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main" 143 153 163 258 391 404
ExecutionMode 4 OriginUpperLeft
Source GLSL 450
Name 4 "main"
Name 9 "iv"
Name 15 "i1D"
Name 27 "i2D"
Name 41 "i3D"
Name 48 "iCube"
Name 60 "iCubeArray"
Name 67 "i2DRect"
Name 79 "i1DArray"
Name 91 "i2DArray"
Name 98 "iBuffer"
Name 107 "i2DMS"
Name 119 "i2DMSArray"
Name 138 "v"
Name 143 "ic1D"
Name 153 "ic2D"
Name 163 "ic3D"
Name 240 "ui"
Name 243 "ii1D"
Name 255 "ui2D"
Name 258 "value"
Name 367 "ii2DMS"
Name 377 "ui2DMSArray"
Name 386 "wo2D"
Name 391 "fragData"
Name 404 "ic4D"
Decorate 15(i1D) DescriptorSet 0
Decorate 15(i1D) Binding 0
Decorate 27(i2D) DescriptorSet 0
Decorate 27(i2D) Binding 1
Decorate 41(i3D) DescriptorSet 0
Decorate 41(i3D) Binding 2
Decorate 48(iCube) DescriptorSet 0
Decorate 48(iCube) Binding 3
Decorate 60(iCubeArray) DescriptorSet 0
Decorate 60(iCubeArray) Binding 4
Decorate 67(i2DRect) DescriptorSet 0
Decorate 67(i2DRect) Binding 5
Decorate 79(i1DArray) DescriptorSet 0
Decorate 79(i1DArray) Binding 6
Decorate 91(i2DArray) DescriptorSet 0
Decorate 91(i2DArray) Binding 7
Decorate 98(iBuffer) DescriptorSet 0
Decorate 98(iBuffer) Binding 8
Decorate 107(i2DMS) DescriptorSet 0
Decorate 107(i2DMS) Binding 9
Decorate 119(i2DMSArray) DescriptorSet 0
Decorate 119(i2DMSArray) Binding 10
Decorate 143(ic1D) Flat
Decorate 143(ic1D) Location 0
Decorate 153(ic2D) Flat
Decorate 153(ic2D) Location 1
Decorate 163(ic3D) Flat
Decorate 163(ic3D) Location 2
Decorate 243(ii1D) DescriptorSet 0
Decorate 243(ii1D) Binding 11
Decorate 255(ui2D) DescriptorSet 0
Decorate 255(ui2D) Binding 12
Decorate 258(value) Flat
Decorate 258(value) Location 4
Decorate 367(ii2DMS) DescriptorSet 0
Decorate 367(ii2DMS) Binding 13
Decorate 377(ui2DMSArray) DescriptorSet 0
Decorate 377(ui2DMSArray) Binding 14
Decorate 386(wo2D) DescriptorSet 0
Decorate 386(wo2D) Binding 1
Decorate 386(wo2D) NonReadable
Decorate 391(fragData) Location 0
Decorate 404(ic4D) Flat
Decorate 404(ic4D) Location 3
2: TypeVoid
3: TypeFunction 2
6: TypeInt 32 1
7: TypeVector 6(int) 3
8: TypePointer Function 7(ivec3)
10: 6(int) Constant 0
11: 7(ivec3) ConstantComposite 10 10 10
12: TypeFloat 32
13: TypeImage 12(float) 1D nonsampled format:Rgba32f
14: TypePointer UniformConstant 13
15(i1D): 14(ptr) Variable UniformConstant
18: TypeInt 32 0
19: 18(int) Constant 0
20: TypePointer Function 6(int)
25: TypeImage 12(float) 2D nonsampled format:Rgba32f
26: TypePointer UniformConstant 25
27(i2D): 26(ptr) Variable UniformConstant
29: TypeVector 6(int) 2
36: 18(int) Constant 1
39: TypeImage 12(float) 3D nonsampled format:Rgba32f
40: TypePointer UniformConstant 39
41(i3D): 40(ptr) Variable UniformConstant
46: TypeImage 12(float) Cube nonsampled format:Rgba32f
47: TypePointer UniformConstant 46
48(iCube): 47(ptr) Variable UniformConstant
58: TypeImage 12(float) Cube array nonsampled format:Rgba32f
59: TypePointer UniformConstant 58
60(iCubeArray): 59(ptr) Variable UniformConstant
65: TypeImage 12(float) Rect nonsampled format:Rgba32f
66: TypePointer UniformConstant 65
67(i2DRect): 66(ptr) Variable UniformConstant
77: TypeImage 12(float) 1D array nonsampled format:Rgba32f
78: TypePointer UniformConstant 77
79(i1DArray): 78(ptr) Variable UniformConstant
89: TypeImage 12(float) 2D array nonsampled format:Rg16
90: TypePointer UniformConstant 89
91(i2DArray): 90(ptr) Variable UniformConstant
96: TypeImage 12(float) Buffer nonsampled format:Rgba32f
97: TypePointer UniformConstant 96
98(iBuffer): 97(ptr) Variable UniformConstant
105: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
106: TypePointer UniformConstant 105
107(i2DMS): 106(ptr) Variable UniformConstant
117: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
118: TypePointer UniformConstant 117
119(i2DMSArray): 118(ptr) Variable UniformConstant
136: TypeVector 12(float) 4
137: TypePointer Function 136(fvec4)
139: 12(float) Constant 0
140: 136(fvec4) ConstantComposite 139 139 139 139
142: TypePointer Input 6(int)
143(ic1D): 142(ptr) Variable Input
152: TypePointer Input 29(ivec2)
153(ic2D): 152(ptr) Variable Input
162: TypePointer Input 7(ivec3)
163(ic3D): 162(ptr) Variable Input
221: 6(int) Constant 1
227: 6(int) Constant 2
231: 6(int) Constant 3
237: 6(int) Constant 4
239: TypePointer Function 18(int)
241: TypeImage 6(int) 1D nonsampled format:R32i
242: TypePointer UniformConstant 241
243(ii1D): 242(ptr) Variable UniformConstant
245: 6(int) Constant 10
246: TypePointer Image 6(int)
253: TypeImage 18(int) 2D nonsampled format:R32ui
254: TypePointer UniformConstant 253
255(ui2D): 254(ptr) Variable UniformConstant
257: TypePointer Input 18(int)
258(value): 257(ptr) Variable Input
260: TypePointer Image 18(int)
266: 6(int) Constant 11
280: 6(int) Constant 12
294: 6(int) Constant 13
308: 6(int) Constant 14
322: 6(int) Constant 15
336: 6(int) Constant 16
350: 6(int) Constant 18
351: 6(int) Constant 17
359: 18(int) Constant 19
365: TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
366: TypePointer UniformConstant 365
367(ii2DMS): 366(ptr) Variable UniformConstant
375: TypeImage 18(int) 2D array multi-sampled nonsampled format:R32ui
376: TypePointer UniformConstant 375
377(ui2DMSArray): 376(ptr) Variable UniformConstant
384: TypeImage 12(float) 2D nonsampled format:Unknown
385: TypePointer UniformConstant 384
386(wo2D): 385(ptr) Variable UniformConstant
390: TypePointer Output 136(fvec4)
391(fragData): 390(ptr) Variable Output
396: TypeBool
399: TypeVector 396(bool) 4
402: TypeVector 6(int) 4
403: TypePointer Input 402(ivec4)
404(ic4D): 403(ptr) Variable Input
4(main): 2 Function None 3
5: Label
9(iv): 8(ptr) Variable Function
138(v): 137(ptr) Variable Function
240(ui): 239(ptr) Variable Function
Store 9(iv) 11
16: 13 Load 15(i1D)
17: 6(int) ImageQuerySize 16
21: 20(ptr) AccessChain 9(iv) 19
22: 6(int) Load 21
23: 6(int) IAdd 22 17
24: 20(ptr) AccessChain 9(iv) 19
Store 24 23
28: 25 Load 27(i2D)
30: 29(ivec2) ImageQuerySize 28
31: 7(ivec3) Load 9(iv)
32: 29(ivec2) VectorShuffle 31 31 0 1
33: 29(ivec2) IAdd 32 30
34: 20(ptr) AccessChain 9(iv) 19
35: 6(int) CompositeExtract 33 0
Store 34 35
37: 20(ptr) AccessChain 9(iv) 36
38: 6(int) CompositeExtract 33 1
Store 37 38
42: 39 Load 41(i3D)
43: 7(ivec3) ImageQuerySize 42
44: 7(ivec3) Load 9(iv)
45: 7(ivec3) IAdd 44 43
Store 9(iv) 45
49: 46 Load 48(iCube)
50: 29(ivec2) ImageQuerySize 49
51: 7(ivec3) Load 9(iv)
52: 29(ivec2) VectorShuffle 51 51 0 1
53: 29(ivec2) IAdd 52 50
54: 20(ptr) AccessChain 9(iv) 19
55: 6(int) CompositeExtract 53 0
Store 54 55
56: 20(ptr) AccessChain 9(iv) 36
57: 6(int) CompositeExtract 53 1
Store 56 57
61: 58 Load 60(iCubeArray)
62: 7(ivec3) ImageQuerySize 61
63: 7(ivec3) Load 9(iv)
64: 7(ivec3) IAdd 63 62
Store 9(iv) 64
68: 65 Load 67(i2DRect)
69: 29(ivec2) ImageQuerySize 68
70: 7(ivec3) Load 9(iv)
71: 29(ivec2) VectorShuffle 70 70 0 1
72: 29(ivec2) IAdd 71 69
73: 20(ptr) AccessChain 9(iv) 19
74: 6(int) CompositeExtract 72 0
Store 73 74
75: 20(ptr) AccessChain 9(iv) 36
76: 6(int) CompositeExtract 72 1
Store 75 76
80: 77 Load 79(i1DArray)
81: 29(ivec2) ImageQuerySize 80
82: 7(ivec3) Load 9(iv)
83: 29(ivec2) VectorShuffle 82 82 0 1
84: 29(ivec2) IAdd 83 81
85: 20(ptr) AccessChain 9(iv) 19
86: 6(int) CompositeExtract 84 0
Store 85 86
87: 20(ptr) AccessChain 9(iv) 36
88: 6(int) CompositeExtract 84 1
Store 87 88
92: 89 Load 91(i2DArray)
93: 7(ivec3) ImageQuerySize 92
94: 7(ivec3) Load 9(iv)
95: 7(ivec3) IAdd 94 93
Store 9(iv) 95
99: 96 Load 98(iBuffer)
100: 6(int) ImageQuerySize 99
101: 20(ptr) AccessChain 9(iv) 19
102: 6(int) Load 101
103: 6(int) IAdd 102 100
104: 20(ptr) AccessChain 9(iv) 19
Store 104 103
108: 105 Load 107(i2DMS)
109: 29(ivec2) ImageQuerySize 108
110: 7(ivec3) Load 9(iv)
111: 29(ivec2) VectorShuffle 110 110 0 1
112: 29(ivec2) IAdd 111 109
113: 20(ptr) AccessChain 9(iv) 19
114: 6(int) CompositeExtract 112 0
Store 113 114
115: 20(ptr) AccessChain 9(iv) 36
116: 6(int) CompositeExtract 112 1
Store 115 116
120: 117 Load 119(i2DMSArray)
121: 7(ivec3) ImageQuerySize 120
122: 7(ivec3) Load 9(iv)
123: 7(ivec3) IAdd 122 121
Store 9(iv) 123
124: 105 Load 107(i2DMS)
125: 6(int) ImageQuerySamples 124
126: 20(ptr) AccessChain 9(iv) 19
127: 6(int) Load 126
128: 6(int) IAdd 127 125
129: 20(ptr) AccessChain 9(iv) 19
Store 129 128
130: 117 Load 119(i2DMSArray)
131: 6(int) ImageQuerySamples 130
132: 20(ptr) AccessChain 9(iv) 19
133: 6(int) Load 132
134: 6(int) IAdd 133 131
135: 20(ptr) AccessChain 9(iv) 19
Store 135 134
Store 138(v) 140
141: 13 Load 15(i1D)
144: 6(int) Load 143(ic1D)
145: 136(fvec4) ImageRead 141 144
146: 136(fvec4) Load 138(v)
147: 136(fvec4) FAdd 146 145
Store 138(v) 147
148: 13 Load 15(i1D)
149: 6(int) Load 143(ic1D)
150: 136(fvec4) Load 138(v)
ImageWrite 148 149 150
151: 25 Load 27(i2D)
154: 29(ivec2) Load 153(ic2D)
155: 136(fvec4) ImageRead 151 154
156: 136(fvec4) Load 138(v)
157: 136(fvec4) FAdd 156 155
Store 138(v) 157
158: 25 Load 27(i2D)
159: 29(ivec2) Load 153(ic2D)
160: 136(fvec4) Load 138(v)
ImageWrite 158 159 160
161: 39 Load 41(i3D)
164: 7(ivec3) Load 163(ic3D)
165: 136(fvec4) ImageRead 161 164
166: 136(fvec4) Load 138(v)
167: 136(fvec4) FAdd 166 165
Store 138(v) 167
168: 39 Load 41(i3D)
169: 7(ivec3) Load 163(ic3D)
170: 136(fvec4) Load 138(v)
ImageWrite 168 169 170
171: 46 Load 48(iCube)
172: 7(ivec3) Load 163(ic3D)
173: 136(fvec4) ImageRead 171 172
174: 136(fvec4) Load 138(v)
175: 136(fvec4) FAdd 174 173
Store 138(v) 175
176: 46 Load 48(iCube)
177: 7(ivec3) Load 163(ic3D)
178: 136(fvec4) Load 138(v)
ImageWrite 176 177 178
179: 58 Load 60(iCubeArray)
180: 7(ivec3) Load 163(ic3D)
181: 136(fvec4) ImageRead 179 180
182: 136(fvec4) Load 138(v)
183: 136(fvec4) FAdd 182 181
Store 138(v) 183
184: 58 Load 60(iCubeArray)
185: 7(ivec3) Load 163(ic3D)
186: 136(fvec4) Load 138(v)
ImageWrite 184 185 186
187: 65 Load 67(i2DRect)
188: 29(ivec2) Load 153(ic2D)
189: 136(fvec4) ImageRead 187 188
190: 136(fvec4) Load 138(v)
191: 136(fvec4) FAdd 190 189
Store 138(v) 191
192: 65 Load 67(i2DRect)
193: 29(ivec2) Load 153(ic2D)
194: 136(fvec4) Load 138(v)
ImageWrite 192 193 194
195: 77 Load 79(i1DArray)
196: 29(ivec2) Load 153(ic2D)
197: 136(fvec4) ImageRead 195 196
198: 136(fvec4) Load 138(v)
199: 136(fvec4) FAdd 198 197
Store 138(v) 199
200: 77 Load 79(i1DArray)
201: 29(ivec2) Load 153(ic2D)
202: 136(fvec4) Load 138(v)
ImageWrite 200 201 202
203: 89 Load 91(i2DArray)
204: 7(ivec3) Load 163(ic3D)
205: 136(fvec4) ImageRead 203 204
206: 136(fvec4) Load 138(v)
207: 136(fvec4) FAdd 206 205
Store 138(v) 207
208: 89 Load 91(i2DArray)
209: 7(ivec3) Load 163(ic3D)
210: 136(fvec4) Load 138(v)
ImageWrite 208 209 210
211: 96 Load 98(iBuffer)
212: 6(int) Load 143(ic1D)
213: 136(fvec4) ImageRead 211 212
214: 136(fvec4) Load 138(v)
215: 136(fvec4) FAdd 214 213
Store 138(v) 215
216: 96 Load 98(iBuffer)
217: 6(int) Load 143(ic1D)
218: 136(fvec4) Load 138(v)
ImageWrite 216 217 218
219: 105 Load 107(i2DMS)
220: 29(ivec2) Load 153(ic2D)
222: 136(fvec4) ImageRead 219 220 Sample 221
223: 136(fvec4) Load 138(v)
224: 136(fvec4) FAdd 223 222
Store 138(v) 224
225: 105 Load 107(i2DMS)
226: 29(ivec2) Load 153(ic2D)
228: 136(fvec4) Load 138(v)
ImageWrite 225 226 228 Sample 227
229: 117 Load 119(i2DMSArray)
230: 7(ivec3) Load 163(ic3D)
232: 136(fvec4) ImageRead 229 230 Sample 231
233: 136(fvec4) Load 138(v)
234: 136(fvec4) FAdd 233 232
Store 138(v) 234
235: 117 Load 119(i2DMSArray)
236: 7(ivec3) Load 163(ic3D)
238: 136(fvec4) Load 138(v)
ImageWrite 235 236 238 Sample 237
Store 240(ui) 19
244: 6(int) Load 143(ic1D)
247: 246(ptr) ImageTexelPointer 243(ii1D) 244 19
248: 6(int) AtomicIAdd 247 36 19 245
249: 20(ptr) AccessChain 9(iv) 19
250: 6(int) Load 249
251: 6(int) IAdd 250 248
252: 20(ptr) AccessChain 9(iv) 19
Store 252 251
256: 29(ivec2) Load 153(ic2D)
259: 18(int) Load 258(value)
261: 260(ptr) ImageTexelPointer 255(ui2D) 256 19
262: 18(int) AtomicIAdd 261 36 19 259
263: 18(int) Load 240(ui)
264: 18(int) IAdd 263 262
Store 240(ui) 264
265: 6(int) Load 143(ic1D)
267: 246(ptr) ImageTexelPointer 243(ii1D) 265 19
268: 6(int) AtomicSMin 267 36 19 266
269: 20(ptr) AccessChain 9(iv) 19
270: 6(int) Load 269
271: 6(int) IAdd 270 268
272: 20(ptr) AccessChain 9(iv) 19
Store 272 271
273: 29(ivec2) Load 153(ic2D)
274: 18(int) Load 258(value)
275: 260(ptr) ImageTexelPointer 255(ui2D) 273 19
276: 18(int) AtomicUMin 275 36 19 274
277: 18(int) Load 240(ui)
278: 18(int) IAdd 277 276
Store 240(ui) 278
279: 6(int) Load 143(ic1D)
281: 246(ptr) ImageTexelPointer 243(ii1D) 279 19
282: 6(int) AtomicSMax 281 36 19 280
283: 20(ptr) AccessChain 9(iv) 19
284: 6(int) Load 283
285: 6(int) IAdd 284 282
286: 20(ptr) AccessChain 9(iv) 19
Store 286 285
287: 29(ivec2) Load 153(ic2D)
288: 18(int) Load 258(value)
289: 260(ptr) ImageTexelPointer 255(ui2D) 287 19
290: 18(int) AtomicUMax 289 36 19 288
291: 18(int) Load 240(ui)
292: 18(int) IAdd 291 290
Store 240(ui) 292
293: 6(int) Load 143(ic1D)
295: 246(ptr) ImageTexelPointer 243(ii1D) 293 19
296: 6(int) AtomicAnd 295 36 19 294
297: 20(ptr) AccessChain 9(iv) 19
298: 6(int) Load 297
299: 6(int) IAdd 298 296
300: 20(ptr) AccessChain 9(iv) 19
Store 300 299
301: 29(ivec2) Load 153(ic2D)
302: 18(int) Load 258(value)
303: 260(ptr) ImageTexelPointer 255(ui2D) 301 19
304: 18(int) AtomicAnd 303 36 19 302
305: 18(int) Load 240(ui)
306: 18(int) IAdd 305 304
Store 240(ui) 306
307: 6(int) Load 143(ic1D)
309: 246(ptr) ImageTexelPointer 243(ii1D) 307 19
310: 6(int) AtomicOr 309 36 19 308
311: 20(ptr) AccessChain 9(iv) 19
312: 6(int) Load 311
313: 6(int) IAdd 312 310
314: 20(ptr) AccessChain 9(iv) 19
Store 314 313
315: 29(ivec2) Load 153(ic2D)
316: 18(int) Load 258(value)
317: 260(ptr) ImageTexelPointer 255(ui2D) 315 19
318: 18(int) AtomicOr 317 36 19 316
319: 18(int) Load 240(ui)
320: 18(int) IAdd 319 318
Store 240(ui) 320
321: 6(int) Load 143(ic1D)
323: 246(ptr) ImageTexelPointer 243(ii1D) 321 19
324: 6(int) AtomicXor 323 36 19 322
325: 20(ptr) AccessChain 9(iv) 19
326: 6(int) Load 325
327: 6(int) IAdd 326 324
328: 20(ptr) AccessChain 9(iv) 19
Store 328 327
329: 29(ivec2) Load 153(ic2D)
330: 18(int) Load 258(value)
331: 260(ptr) ImageTexelPointer 255(ui2D) 329 19
332: 18(int) AtomicXor 331 36 19 330
333: 18(int) Load 240(ui)
334: 18(int) IAdd 333 332
Store 240(ui) 334
335: 6(int) Load 143(ic1D)
337: 246(ptr) ImageTexelPointer 243(ii1D) 335 19
338: 6(int) AtomicExchange 337 36 19 336
339: 20(ptr) AccessChain 9(iv) 19
340: 6(int) Load 339
341: 6(int) IAdd 340 338
342: 20(ptr) AccessChain 9(iv) 19
Store 342 341
343: 29(ivec2) Load 153(ic2D)
344: 18(int) Load 258(value)
345: 260(ptr) ImageTexelPointer 255(ui2D) 343 19
346: 18(int) AtomicExchange 345 36 19 344
347: 18(int) Load 240(ui)
348: 18(int) IAdd 347 346
Store 240(ui) 348
349: 6(int) Load 143(ic1D)
352: 246(ptr) ImageTexelPointer 243(ii1D) 349 19
353: 6(int) AtomicCompareExchange 352 36 19 19 351 350
354: 20(ptr) AccessChain 9(iv) 19
355: 6(int) Load 354
356: 6(int) IAdd 355 353
357: 20(ptr) AccessChain 9(iv) 19
Store 357 356
358: 29(ivec2) Load 153(ic2D)
360: 18(int) Load 258(value)
361: 260(ptr) ImageTexelPointer 255(ui2D) 358 19
362: 18(int) AtomicCompareExchange 361 36 19 19 360 359
363: 18(int) Load 240(ui)
364: 18(int) IAdd 363 362
Store 240(ui) 364
368: 29(ivec2) Load 153(ic2D)
369: 246(ptr) ImageTexelPointer 367(ii2DMS) 368 227
370: 6(int) AtomicCompareExchange 369 36 19 19 351 350
371: 20(ptr) AccessChain 9(iv) 19
372: 6(int) Load 371
373: 6(int) IAdd 372 370
374: 20(ptr) AccessChain 9(iv) 19
Store 374 373
378: 7(ivec3) Load 163(ic3D)
379: 18(int) Load 258(value)
380: 260(ptr) ImageTexelPointer 377(ui2DMSArray) 378 231
381: 18(int) AtomicCompareExchange 380 36 19 19 379 359
382: 18(int) Load 240(ui)
383: 18(int) IAdd 382 381
Store 240(ui) 383
387: 384 Load 386(wo2D)
388: 29(ivec2) Load 153(ic2D)
389: 136(fvec4) Load 138(v)
ImageWrite 387 388 389
392: 18(int) Load 240(ui)
393: 20(ptr) AccessChain 9(iv) 36
394: 6(int) Load 393
395: 18(int) Bitcast 394
397: 396(bool) INotEqual 392 395
398: 136(fvec4) Load 138(v)
400: 399(bvec4) CompositeConstruct 397 397 397 397
401: 136(fvec4) Select 400 398 140
Store 391(fragData) 401
Return
FunctionEnd