glslang/Test/baseResults/spv.image.frag.out
John Kessenich 6373574b13 Front-end: Fix: Cubemap arrays only use 3-component coord when accessed as an image.
4 components are needed when used a texture, but not an image, which multiplies
layers and faces into the same coordinate.  This fixes it from using 4 everywhere,
to only using 4 for textures and 3 for images.
2015-10-01 12:40:48 -06:00

499 lines
24 KiB
Plaintext

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