3 // Module Version 10000
4 // Generated by (magic number): 8000a
5 // Id's are bound by 405
8 Capability StorageImageMultisample
9 Capability ImageCubeArray
12 Capability ImageBuffer
13 Capability ImageMSArray
14 Capability StorageImageExtendedFormats
16 Capability StorageImageWriteWithoutFormat
17 1: ExtInstImport "GLSL.std.450"
18 MemoryModel Logical GLSL450
19 EntryPoint Fragment 4 "main" 143 153 163 258 391 404
20 ExecutionMode 4 OriginUpperLeft
44 Name 377 "ui2DMSArray"
48 Decorate 15(i1D) DescriptorSet 0
49 Decorate 15(i1D) Binding 0
50 Decorate 27(i2D) DescriptorSet 0
51 Decorate 27(i2D) Binding 1
52 Decorate 41(i3D) DescriptorSet 0
53 Decorate 41(i3D) Binding 2
54 Decorate 48(iCube) DescriptorSet 0
55 Decorate 48(iCube) Binding 3
56 Decorate 60(iCubeArray) DescriptorSet 0
57 Decorate 60(iCubeArray) Binding 4
58 Decorate 67(i2DRect) DescriptorSet 0
59 Decorate 67(i2DRect) Binding 5
60 Decorate 79(i1DArray) DescriptorSet 0
61 Decorate 79(i1DArray) Binding 6
62 Decorate 91(i2DArray) DescriptorSet 0
63 Decorate 91(i2DArray) Binding 7
64 Decorate 98(iBuffer) DescriptorSet 0
65 Decorate 98(iBuffer) Binding 8
66 Decorate 107(i2DMS) DescriptorSet 0
67 Decorate 107(i2DMS) Binding 9
68 Decorate 119(i2DMSArray) DescriptorSet 0
69 Decorate 119(i2DMSArray) Binding 10
70 Decorate 143(ic1D) Flat
71 Decorate 143(ic1D) Location 0
72 Decorate 153(ic2D) Flat
73 Decorate 153(ic2D) Location 1
74 Decorate 163(ic3D) Flat
75 Decorate 163(ic3D) Location 2
76 Decorate 243(ii1D) DescriptorSet 0
77 Decorate 243(ii1D) Binding 11
78 Decorate 255(ui2D) DescriptorSet 0
79 Decorate 255(ui2D) Binding 12
80 Decorate 258(value) Flat
81 Decorate 258(value) Location 4
82 Decorate 367(ii2DMS) DescriptorSet 0
83 Decorate 367(ii2DMS) Binding 13
84 Decorate 377(ui2DMSArray) DescriptorSet 0
85 Decorate 377(ui2DMSArray) Binding 14
86 Decorate 386(wo2D) DescriptorSet 0
87 Decorate 386(wo2D) Binding 1
88 Decorate 386(wo2D) NonReadable
89 Decorate 391(fragData) Location 0
90 Decorate 404(ic4D) Flat
91 Decorate 404(ic4D) Location 3
95 7: TypeVector 6(int) 3
96 8: TypePointer Function 7(ivec3)
98 11: 7(ivec3) ConstantComposite 10 10 10
100 13: TypeImage 12(float) 1D nonsampled format:Rgba32f
101 14: TypePointer UniformConstant 13
102 15(i1D): 14(ptr) Variable UniformConstant
104 19: 18(int) Constant 0
105 20: TypePointer Function 6(int)
106 25: TypeImage 12(float) 2D nonsampled format:Rgba32f
107 26: TypePointer UniformConstant 25
108 27(i2D): 26(ptr) Variable UniformConstant
109 29: TypeVector 6(int) 2
110 36: 18(int) Constant 1
111 39: TypeImage 12(float) 3D nonsampled format:Rgba32f
112 40: TypePointer UniformConstant 39
113 41(i3D): 40(ptr) Variable UniformConstant
114 46: TypeImage 12(float) Cube nonsampled format:Rgba32f
115 47: TypePointer UniformConstant 46
116 48(iCube): 47(ptr) Variable UniformConstant
117 58: TypeImage 12(float) Cube array nonsampled format:Rgba32f
118 59: TypePointer UniformConstant 58
119 60(iCubeArray): 59(ptr) Variable UniformConstant
120 65: TypeImage 12(float) Rect nonsampled format:Rgba32f
121 66: TypePointer UniformConstant 65
122 67(i2DRect): 66(ptr) Variable UniformConstant
123 77: TypeImage 12(float) 1D array nonsampled format:Rgba32f
124 78: TypePointer UniformConstant 77
125 79(i1DArray): 78(ptr) Variable UniformConstant
126 89: TypeImage 12(float) 2D array nonsampled format:Rg16
127 90: TypePointer UniformConstant 89
128 91(i2DArray): 90(ptr) Variable UniformConstant
129 96: TypeImage 12(float) Buffer nonsampled format:Rgba32f
130 97: TypePointer UniformConstant 96
131 98(iBuffer): 97(ptr) Variable UniformConstant
132 105: TypeImage 12(float) 2D multi-sampled nonsampled format:Rgba32f
133 106: TypePointer UniformConstant 105
134 107(i2DMS): 106(ptr) Variable UniformConstant
135 117: TypeImage 12(float) 2D array multi-sampled nonsampled format:Rgba32f
136 118: TypePointer UniformConstant 117
137 119(i2DMSArray): 118(ptr) Variable UniformConstant
138 136: TypeVector 12(float) 4
139 137: TypePointer Function 136(fvec4)
140 139: 12(float) Constant 0
141 140: 136(fvec4) ConstantComposite 139 139 139 139
142 142: TypePointer Input 6(int)
143 143(ic1D): 142(ptr) Variable Input
144 152: TypePointer Input 29(ivec2)
145 153(ic2D): 152(ptr) Variable Input
146 162: TypePointer Input 7(ivec3)
147 163(ic3D): 162(ptr) Variable Input
148 221: 6(int) Constant 1
149 227: 6(int) Constant 2
150 231: 6(int) Constant 3
151 237: 6(int) Constant 4
152 239: TypePointer Function 18(int)
153 241: TypeImage 6(int) 1D nonsampled format:R32i
154 242: TypePointer UniformConstant 241
155 243(ii1D): 242(ptr) Variable UniformConstant
156 245: 6(int) Constant 10
157 246: TypePointer Image 6(int)
158 253: TypeImage 18(int) 2D nonsampled format:R32ui
159 254: TypePointer UniformConstant 253
160 255(ui2D): 254(ptr) Variable UniformConstant
161 257: TypePointer Input 18(int)
162 258(value): 257(ptr) Variable Input
163 260: TypePointer Image 18(int)
164 266: 6(int) Constant 11
165 280: 6(int) Constant 12
166 294: 6(int) Constant 13
167 308: 6(int) Constant 14
168 322: 6(int) Constant 15
169 336: 6(int) Constant 16
170 350: 6(int) Constant 18
171 351: 6(int) Constant 17
172 359: 18(int) Constant 19
173 365: TypeImage 6(int) 2D multi-sampled nonsampled format:R32i
174 366: TypePointer UniformConstant 365
175 367(ii2DMS): 366(ptr) Variable UniformConstant
176 375: TypeImage 18(int) 2D array multi-sampled nonsampled format:R32ui
177 376: TypePointer UniformConstant 375
178 377(ui2DMSArray): 376(ptr) Variable UniformConstant
179 384: TypeImage 12(float) 2D nonsampled format:Unknown
180 385: TypePointer UniformConstant 384
181 386(wo2D): 385(ptr) Variable UniformConstant
182 390: TypePointer Output 136(fvec4)
183 391(fragData): 390(ptr) Variable Output
185 399: TypeVector 396(bool) 4
186 402: TypeVector 6(int) 4
187 403: TypePointer Input 402(ivec4)
188 404(ic4D): 403(ptr) Variable Input
189 4(main): 2 Function None 3
191 9(iv): 8(ptr) Variable Function
192 138(v): 137(ptr) Variable Function
193 240(ui): 239(ptr) Variable Function
196 17: 6(int) ImageQuerySize 16
197 21: 20(ptr) AccessChain 9(iv) 19
199 23: 6(int) IAdd 22 17
200 24: 20(ptr) AccessChain 9(iv) 19
203 30: 29(ivec2) ImageQuerySize 28
204 31: 7(ivec3) Load 9(iv)
205 32: 29(ivec2) VectorShuffle 31 31 0 1
206 33: 29(ivec2) IAdd 32 30
207 34: 20(ptr) AccessChain 9(iv) 19
208 35: 6(int) CompositeExtract 33 0
210 37: 20(ptr) AccessChain 9(iv) 36
211 38: 6(int) CompositeExtract 33 1
214 43: 7(ivec3) ImageQuerySize 42
215 44: 7(ivec3) Load 9(iv)
216 45: 7(ivec3) IAdd 44 43
218 49: 46 Load 48(iCube)
219 50: 29(ivec2) ImageQuerySize 49
220 51: 7(ivec3) Load 9(iv)
221 52: 29(ivec2) VectorShuffle 51 51 0 1
222 53: 29(ivec2) IAdd 52 50
223 54: 20(ptr) AccessChain 9(iv) 19
224 55: 6(int) CompositeExtract 53 0
226 56: 20(ptr) AccessChain 9(iv) 36
227 57: 6(int) CompositeExtract 53 1
229 61: 58 Load 60(iCubeArray)
230 62: 7(ivec3) ImageQuerySize 61
231 63: 7(ivec3) Load 9(iv)
232 64: 7(ivec3) IAdd 63 62
234 68: 65 Load 67(i2DRect)
235 69: 29(ivec2) ImageQuerySize 68
236 70: 7(ivec3) Load 9(iv)
237 71: 29(ivec2) VectorShuffle 70 70 0 1
238 72: 29(ivec2) IAdd 71 69
239 73: 20(ptr) AccessChain 9(iv) 19
240 74: 6(int) CompositeExtract 72 0
242 75: 20(ptr) AccessChain 9(iv) 36
243 76: 6(int) CompositeExtract 72 1
245 80: 77 Load 79(i1DArray)
246 81: 29(ivec2) ImageQuerySize 80
247 82: 7(ivec3) Load 9(iv)
248 83: 29(ivec2) VectorShuffle 82 82 0 1
249 84: 29(ivec2) IAdd 83 81
250 85: 20(ptr) AccessChain 9(iv) 19
251 86: 6(int) CompositeExtract 84 0
253 87: 20(ptr) AccessChain 9(iv) 36
254 88: 6(int) CompositeExtract 84 1
256 92: 89 Load 91(i2DArray)
257 93: 7(ivec3) ImageQuerySize 92
258 94: 7(ivec3) Load 9(iv)
259 95: 7(ivec3) IAdd 94 93
261 99: 96 Load 98(iBuffer)
262 100: 6(int) ImageQuerySize 99
263 101: 20(ptr) AccessChain 9(iv) 19
265 103: 6(int) IAdd 102 100
266 104: 20(ptr) AccessChain 9(iv) 19
268 108: 105 Load 107(i2DMS)
269 109: 29(ivec2) ImageQuerySize 108
270 110: 7(ivec3) Load 9(iv)
271 111: 29(ivec2) VectorShuffle 110 110 0 1
272 112: 29(ivec2) IAdd 111 109
273 113: 20(ptr) AccessChain 9(iv) 19
274 114: 6(int) CompositeExtract 112 0
276 115: 20(ptr) AccessChain 9(iv) 36
277 116: 6(int) CompositeExtract 112 1
279 120: 117 Load 119(i2DMSArray)
280 121: 7(ivec3) ImageQuerySize 120
281 122: 7(ivec3) Load 9(iv)
282 123: 7(ivec3) IAdd 122 121
284 124: 105 Load 107(i2DMS)
285 125: 6(int) ImageQuerySamples 124
286 126: 20(ptr) AccessChain 9(iv) 19
288 128: 6(int) IAdd 127 125
289 129: 20(ptr) AccessChain 9(iv) 19
291 130: 117 Load 119(i2DMSArray)
292 131: 6(int) ImageQuerySamples 130
293 132: 20(ptr) AccessChain 9(iv) 19
295 134: 6(int) IAdd 133 131
296 135: 20(ptr) AccessChain 9(iv) 19
300 144: 6(int) Load 143(ic1D)
301 145: 136(fvec4) ImageRead 141 144
302 146: 136(fvec4) Load 138(v)
303 147: 136(fvec4) FAdd 146 145
306 149: 6(int) Load 143(ic1D)
307 150: 136(fvec4) Load 138(v)
308 ImageWrite 148 149 150
310 154: 29(ivec2) Load 153(ic2D)
311 155: 136(fvec4) ImageRead 151 154
312 156: 136(fvec4) Load 138(v)
313 157: 136(fvec4) FAdd 156 155
316 159: 29(ivec2) Load 153(ic2D)
317 160: 136(fvec4) Load 138(v)
318 ImageWrite 158 159 160
320 164: 7(ivec3) Load 163(ic3D)
321 165: 136(fvec4) ImageRead 161 164
322 166: 136(fvec4) Load 138(v)
323 167: 136(fvec4) FAdd 166 165
326 169: 7(ivec3) Load 163(ic3D)
327 170: 136(fvec4) Load 138(v)
328 ImageWrite 168 169 170
329 171: 46 Load 48(iCube)
330 172: 7(ivec3) Load 163(ic3D)
331 173: 136(fvec4) ImageRead 171 172
332 174: 136(fvec4) Load 138(v)
333 175: 136(fvec4) FAdd 174 173
335 176: 46 Load 48(iCube)
336 177: 7(ivec3) Load 163(ic3D)
337 178: 136(fvec4) Load 138(v)
338 ImageWrite 176 177 178
339 179: 58 Load 60(iCubeArray)
340 180: 7(ivec3) Load 163(ic3D)
341 181: 136(fvec4) ImageRead 179 180
342 182: 136(fvec4) Load 138(v)
343 183: 136(fvec4) FAdd 182 181
345 184: 58 Load 60(iCubeArray)
346 185: 7(ivec3) Load 163(ic3D)
347 186: 136(fvec4) Load 138(v)
348 ImageWrite 184 185 186
349 187: 65 Load 67(i2DRect)
350 188: 29(ivec2) Load 153(ic2D)
351 189: 136(fvec4) ImageRead 187 188
352 190: 136(fvec4) Load 138(v)
353 191: 136(fvec4) FAdd 190 189
355 192: 65 Load 67(i2DRect)
356 193: 29(ivec2) Load 153(ic2D)
357 194: 136(fvec4) Load 138(v)
358 ImageWrite 192 193 194
359 195: 77 Load 79(i1DArray)
360 196: 29(ivec2) Load 153(ic2D)
361 197: 136(fvec4) ImageRead 195 196
362 198: 136(fvec4) Load 138(v)
363 199: 136(fvec4) FAdd 198 197
365 200: 77 Load 79(i1DArray)
366 201: 29(ivec2) Load 153(ic2D)
367 202: 136(fvec4) Load 138(v)
368 ImageWrite 200 201 202
369 203: 89 Load 91(i2DArray)
370 204: 7(ivec3) Load 163(ic3D)
371 205: 136(fvec4) ImageRead 203 204
372 206: 136(fvec4) Load 138(v)
373 207: 136(fvec4) FAdd 206 205
375 208: 89 Load 91(i2DArray)
376 209: 7(ivec3) Load 163(ic3D)
377 210: 136(fvec4) Load 138(v)
378 ImageWrite 208 209 210
379 211: 96 Load 98(iBuffer)
380 212: 6(int) Load 143(ic1D)
381 213: 136(fvec4) ImageRead 211 212
382 214: 136(fvec4) Load 138(v)
383 215: 136(fvec4) FAdd 214 213
385 216: 96 Load 98(iBuffer)
386 217: 6(int) Load 143(ic1D)
387 218: 136(fvec4) Load 138(v)
388 ImageWrite 216 217 218
389 219: 105 Load 107(i2DMS)
390 220: 29(ivec2) Load 153(ic2D)
391 222: 136(fvec4) ImageRead 219 220 Sample 221
392 223: 136(fvec4) Load 138(v)
393 224: 136(fvec4) FAdd 223 222
395 225: 105 Load 107(i2DMS)
396 226: 29(ivec2) Load 153(ic2D)
397 228: 136(fvec4) Load 138(v)
398 ImageWrite 225 226 228 Sample 227
399 229: 117 Load 119(i2DMSArray)
400 230: 7(ivec3) Load 163(ic3D)
401 232: 136(fvec4) ImageRead 229 230 Sample 231
402 233: 136(fvec4) Load 138(v)
403 234: 136(fvec4) FAdd 233 232
405 235: 117 Load 119(i2DMSArray)
406 236: 7(ivec3) Load 163(ic3D)
407 238: 136(fvec4) Load 138(v)
408 ImageWrite 235 236 238 Sample 237
410 244: 6(int) Load 143(ic1D)
411 247: 246(ptr) ImageTexelPointer 243(ii1D) 244 19
412 248: 6(int) AtomicIAdd 247 36 19 245
413 249: 20(ptr) AccessChain 9(iv) 19
415 251: 6(int) IAdd 250 248
416 252: 20(ptr) AccessChain 9(iv) 19
418 256: 29(ivec2) Load 153(ic2D)
419 259: 18(int) Load 258(value)
420 261: 260(ptr) ImageTexelPointer 255(ui2D) 256 19
421 262: 18(int) AtomicIAdd 261 36 19 259
422 263: 18(int) Load 240(ui)
423 264: 18(int) IAdd 263 262
425 265: 6(int) Load 143(ic1D)
426 267: 246(ptr) ImageTexelPointer 243(ii1D) 265 19
427 268: 6(int) AtomicSMin 267 36 19 266
428 269: 20(ptr) AccessChain 9(iv) 19
430 271: 6(int) IAdd 270 268
431 272: 20(ptr) AccessChain 9(iv) 19
433 273: 29(ivec2) Load 153(ic2D)
434 274: 18(int) Load 258(value)
435 275: 260(ptr) ImageTexelPointer 255(ui2D) 273 19
436 276: 18(int) AtomicUMin 275 36 19 274
437 277: 18(int) Load 240(ui)
438 278: 18(int) IAdd 277 276
440 279: 6(int) Load 143(ic1D)
441 281: 246(ptr) ImageTexelPointer 243(ii1D) 279 19
442 282: 6(int) AtomicSMax 281 36 19 280
443 283: 20(ptr) AccessChain 9(iv) 19
445 285: 6(int) IAdd 284 282
446 286: 20(ptr) AccessChain 9(iv) 19
448 287: 29(ivec2) Load 153(ic2D)
449 288: 18(int) Load 258(value)
450 289: 260(ptr) ImageTexelPointer 255(ui2D) 287 19
451 290: 18(int) AtomicUMax 289 36 19 288
452 291: 18(int) Load 240(ui)
453 292: 18(int) IAdd 291 290
455 293: 6(int) Load 143(ic1D)
456 295: 246(ptr) ImageTexelPointer 243(ii1D) 293 19
457 296: 6(int) AtomicAnd 295 36 19 294
458 297: 20(ptr) AccessChain 9(iv) 19
460 299: 6(int) IAdd 298 296
461 300: 20(ptr) AccessChain 9(iv) 19
463 301: 29(ivec2) Load 153(ic2D)
464 302: 18(int) Load 258(value)
465 303: 260(ptr) ImageTexelPointer 255(ui2D) 301 19
466 304: 18(int) AtomicAnd 303 36 19 302
467 305: 18(int) Load 240(ui)
468 306: 18(int) IAdd 305 304
470 307: 6(int) Load 143(ic1D)
471 309: 246(ptr) ImageTexelPointer 243(ii1D) 307 19
472 310: 6(int) AtomicOr 309 36 19 308
473 311: 20(ptr) AccessChain 9(iv) 19
475 313: 6(int) IAdd 312 310
476 314: 20(ptr) AccessChain 9(iv) 19
478 315: 29(ivec2) Load 153(ic2D)
479 316: 18(int) Load 258(value)
480 317: 260(ptr) ImageTexelPointer 255(ui2D) 315 19
481 318: 18(int) AtomicOr 317 36 19 316
482 319: 18(int) Load 240(ui)
483 320: 18(int) IAdd 319 318
485 321: 6(int) Load 143(ic1D)
486 323: 246(ptr) ImageTexelPointer 243(ii1D) 321 19
487 324: 6(int) AtomicXor 323 36 19 322
488 325: 20(ptr) AccessChain 9(iv) 19
490 327: 6(int) IAdd 326 324
491 328: 20(ptr) AccessChain 9(iv) 19
493 329: 29(ivec2) Load 153(ic2D)
494 330: 18(int) Load 258(value)
495 331: 260(ptr) ImageTexelPointer 255(ui2D) 329 19
496 332: 18(int) AtomicXor 331 36 19 330
497 333: 18(int) Load 240(ui)
498 334: 18(int) IAdd 333 332
500 335: 6(int) Load 143(ic1D)
501 337: 246(ptr) ImageTexelPointer 243(ii1D) 335 19
502 338: 6(int) AtomicExchange 337 36 19 336
503 339: 20(ptr) AccessChain 9(iv) 19
505 341: 6(int) IAdd 340 338
506 342: 20(ptr) AccessChain 9(iv) 19
508 343: 29(ivec2) Load 153(ic2D)
509 344: 18(int) Load 258(value)
510 345: 260(ptr) ImageTexelPointer 255(ui2D) 343 19
511 346: 18(int) AtomicExchange 345 36 19 344
512 347: 18(int) Load 240(ui)
513 348: 18(int) IAdd 347 346
515 349: 6(int) Load 143(ic1D)
516 352: 246(ptr) ImageTexelPointer 243(ii1D) 349 19
517 353: 6(int) AtomicCompareExchange 352 36 19 19 351 350
518 354: 20(ptr) AccessChain 9(iv) 19
520 356: 6(int) IAdd 355 353
521 357: 20(ptr) AccessChain 9(iv) 19
523 358: 29(ivec2) Load 153(ic2D)
524 360: 18(int) Load 258(value)
525 361: 260(ptr) ImageTexelPointer 255(ui2D) 358 19
526 362: 18(int) AtomicCompareExchange 361 36 19 19 360 359
527 363: 18(int) Load 240(ui)
528 364: 18(int) IAdd 363 362
530 368: 29(ivec2) Load 153(ic2D)
531 369: 246(ptr) ImageTexelPointer 367(ii2DMS) 368 227
532 370: 6(int) AtomicCompareExchange 369 36 19 19 351 350
533 371: 20(ptr) AccessChain 9(iv) 19
535 373: 6(int) IAdd 372 370
536 374: 20(ptr) AccessChain 9(iv) 19
538 378: 7(ivec3) Load 163(ic3D)
539 379: 18(int) Load 258(value)
540 380: 260(ptr) ImageTexelPointer 377(ui2DMSArray) 378 231
541 381: 18(int) AtomicCompareExchange 380 36 19 19 379 359
542 382: 18(int) Load 240(ui)
543 383: 18(int) IAdd 382 381
545 387: 384 Load 386(wo2D)
546 388: 29(ivec2) Load 153(ic2D)
547 389: 136(fvec4) Load 138(v)
548 ImageWrite 387 388 389
549 392: 18(int) Load 240(ui)
550 393: 20(ptr) AccessChain 9(iv) 36
552 395: 18(int) Bitcast 394
553 397: 396(bool) INotEqual 392 395
554 398: 136(fvec4) Load 138(v)
555 400: 399(bvec4) CompositeConstruct 397 397 397 397
556 401: 136(fvec4) Select 400 398 140
557 Store 391(fragData) 401