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