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