1spv.nonuniform.frag 2// Module Version 10000 3// Generated by (magic number): 8000a 4// Id's are bound by 289 5 6 Capability Shader 7 Capability InputAttachment 8 Capability SampledBuffer 9 Capability ImageBuffer 10 Capability ShaderNonUniformEXT 11 Capability RuntimeDescriptorArrayEXT 12 Capability InputAttachmentArrayDynamicIndexingEXT 13 Capability UniformTexelBufferArrayDynamicIndexingEXT 14 Capability StorageTexelBufferArrayDynamicIndexingEXT 15 Capability UniformBufferArrayNonUniformIndexingEXT 16 Capability SampledImageArrayNonUniformIndexingEXT 17 Capability StorageBufferArrayNonUniformIndexingEXT 18 Capability StorageImageArrayNonUniformIndexingEXT 19 Capability InputAttachmentArrayNonUniformIndexingEXT 20 Capability UniformTexelBufferArrayNonUniformIndexingEXT 21 Capability StorageTexelBufferArrayNonUniformIndexingEXT 22 Extension "SPV_EXT_descriptor_indexing" 23 1: ExtInstImport "GLSL.std.450" 24 MemoryModel Logical GLSL450 25 EntryPoint Fragment 4 "main" 41 98 188 26 ExecutionMode 4 OriginUpperLeft 27 Source GLSL 450 28 SourceExtension "GL_EXT_nonuniform_qualifier" 29 Name 4 "main" 30 Name 11 "foo(i1;i1;" 31 Name 9 "nupi" 32 Name 10 "f" 33 Name 16 "a" 34 Name 17 "nu_li" 35 Name 18 "param" 36 Name 20 "param" 37 Name 30 "nu_li2" 38 Name 38 "b" 39 Name 41 "nu_inv4" 40 Name 47 "nu_gf" 41 Name 53 "inputAttachmentDyn" 42 Name 54 "dyn_i" 43 Name 70 "uniformTexelBufferDyn" 44 Name 84 "storageTexelBufferDyn" 45 Name 93 "uname" 46 MemberName 93(uname) 0 "a" 47 Name 96 "uniformBuffer" 48 Name 98 "nu_ii" 49 Name 105 "bname" 50 MemberName 105(bname) 0 "b" 51 Name 108 "storageBuffer" 52 Name 118 "sampledImage" 53 Name 133 "storageImage" 54 Name 145 "inputAttachment" 55 Name 155 "uniformTexelBuffer" 56 Name 166 "storageTexelBuffer" 57 Name 177 "uniformTexArr" 58 Name 184 "uniformSampler" 59 Name 188 "inTexcoord" 60 Name 207 "v" 61 Name 222 "uv" 62 Name 232 "m" 63 Name 240 "S" 64 MemberName 240(S) 0 "a" 65 Name 242 "s" 66 Name 252 "arr" 67 Name 259 "um" 68 Name 268 "US" 69 MemberName 268(US) 0 "a" 70 Name 270 "us" 71 Name 278 "uarr" 72 Decorate 13 DecorationNonUniformEXT 73 Decorate 19 DecorationNonUniformEXT 74 Decorate 21 DecorationNonUniformEXT 75 Decorate 22 DecorationNonUniformEXT 76 Decorate 24 DecorationNonUniformEXT 77 Decorate 28 DecorationNonUniformEXT 78 Decorate 29 DecorationNonUniformEXT 79 Decorate 34 DecorationNonUniformEXT 80 Decorate 35 DecorationNonUniformEXT 81 Decorate 41(nu_inv4) Location 0 82 Decorate 46 DecorationNonUniformEXT 83 Decorate 48 DecorationNonUniformEXT 84 Decorate 49 DecorationNonUniformEXT 85 Decorate 53(inputAttachmentDyn) DescriptorSet 0 86 Decorate 53(inputAttachmentDyn) Binding 0 87 Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0 88 Decorate 70(uniformTexelBufferDyn) DescriptorSet 0 89 Decorate 70(uniformTexelBufferDyn) Binding 1 90 Decorate 84(storageTexelBufferDyn) DescriptorSet 0 91 Decorate 84(storageTexelBufferDyn) Binding 2 92 MemberDecorate 93(uname) 0 Offset 0 93 Decorate 93(uname) Block 94 Decorate 96(uniformBuffer) DescriptorSet 0 95 Decorate 96(uniformBuffer) Binding 3 96 Decorate 98(nu_ii) Flat 97 Decorate 98(nu_ii) Location 1 98 Decorate 99 DecorationNonUniformEXT 99 Decorate 101 DecorationNonUniformEXT 100 Decorate 102 DecorationNonUniformEXT 101 Decorate 104 DecorationNonUniformEXT 102 MemberDecorate 105(bname) 0 Offset 0 103 Decorate 105(bname) BufferBlock 104 Decorate 108(storageBuffer) DescriptorSet 0 105 Decorate 108(storageBuffer) Binding 4 106 Decorate 109 DecorationNonUniformEXT 107 Decorate 110 DecorationNonUniformEXT 108 Decorate 111 DecorationNonUniformEXT 109 Decorate 113 DecorationNonUniformEXT 110 Decorate 118(sampledImage) DescriptorSet 0 111 Decorate 118(sampledImage) Binding 5 112 Decorate 119 DecorationNonUniformEXT 113 Decorate 121 DecorationNonUniformEXT 114 Decorate 122 DecorationNonUniformEXT 115 Decorate 133(storageImage) DescriptorSet 0 116 Decorate 133(storageImage) Binding 6 117 Decorate 134 DecorationNonUniformEXT 118 Decorate 136 DecorationNonUniformEXT 119 Decorate 137 DecorationNonUniformEXT 120 Decorate 145(inputAttachment) DescriptorSet 0 121 Decorate 145(inputAttachment) Binding 7 122 Decorate 145(inputAttachment) InputAttachmentIndex 1 123 Decorate 146 DecorationNonUniformEXT 124 Decorate 147 DecorationNonUniformEXT 125 Decorate 148 DecorationNonUniformEXT 126 Decorate 155(uniformTexelBuffer) DescriptorSet 0 127 Decorate 155(uniformTexelBuffer) Binding 8 128 Decorate 156 DecorationNonUniformEXT 129 Decorate 157 DecorationNonUniformEXT 130 Decorate 158 DecorationNonUniformEXT 131 Decorate 159 DecorationNonUniformEXT 132 Decorate 166(storageTexelBuffer) DescriptorSet 0 133 Decorate 166(storageTexelBuffer) Binding 9 134 Decorate 167 DecorationNonUniformEXT 135 Decorate 168 DecorationNonUniformEXT 136 Decorate 169 DecorationNonUniformEXT 137 Decorate 177(uniformTexArr) DescriptorSet 0 138 Decorate 177(uniformTexArr) Binding 10 139 Decorate 178 DecorationNonUniformEXT 140 Decorate 180 DecorationNonUniformEXT 141 Decorate 181 DecorationNonUniformEXT 142 Decorate 184(uniformSampler) DescriptorSet 0 143 Decorate 184(uniformSampler) Binding 11 144 Decorate 188(inTexcoord) Location 2 145 Decorate 194 DecorationNonUniformEXT 146 Decorate 195 DecorationNonUniformEXT 147 Decorate 196 DecorationNonUniformEXT 148 Decorate 199 DecorationNonUniformEXT 149 Decorate 210 DecorationNonUniformEXT 150 Decorate 211 DecorationNonUniformEXT 151 Decorate 212 DecorationNonUniformEXT 152 Decorate 214 DecorationNonUniformEXT 153 Decorate 217 DecorationNonUniformEXT 154 Decorate 218 DecorationNonUniformEXT 155 Decorate 219 DecorationNonUniformEXT 156 Decorate 221 DecorationNonUniformEXT 157 Decorate 223 DecorationNonUniformEXT 158 Decorate 224 DecorationNonUniformEXT 159 Decorate 225 DecorationNonUniformEXT 160 Decorate 226 DecorationNonUniformEXT 161 Decorate 227 DecorationNonUniformEXT 162 Decorate 229 DecorationNonUniformEXT 163 Decorate 234 DecorationNonUniformEXT 164 Decorate 244 DecorationNonUniformEXT 165 Decorate 245 DecorationNonUniformEXT 166 Decorate 246 DecorationNonUniformEXT 167 Decorate 248 DecorationNonUniformEXT 168 Decorate 254 DecorationNonUniformEXT 169 Decorate 255 DecorationNonUniformEXT 170 Decorate 256 DecorationNonUniformEXT 171 Decorate 258 DecorationNonUniformEXT 172 Decorate 260 DecorationNonUniformEXT 173 Decorate 261 DecorationNonUniformEXT 174 Decorate 262 DecorationNonUniformEXT 175 Decorate 271 DecorationNonUniformEXT 176 Decorate 272 DecorationNonUniformEXT 177 Decorate 273 DecorationNonUniformEXT 178 Decorate 274 DecorationNonUniformEXT 179 Decorate 275 DecorationNonUniformEXT 180 Decorate 277 DecorationNonUniformEXT 181 Decorate 279 DecorationNonUniformEXT 182 Decorate 280 DecorationNonUniformEXT 183 Decorate 281 DecorationNonUniformEXT 184 Decorate 282 DecorationNonUniformEXT 185 Decorate 283 DecorationNonUniformEXT 186 Decorate 285 DecorationNonUniformEXT 187 Decorate 286 DecorationNonUniformEXT 188 Decorate 288 DecorationNonUniformEXT 189 2: TypeVoid 190 3: TypeFunction 2 191 6: TypeInt 32 1 192 7: TypePointer Function 6(int) 193 8: TypeFunction 6(int) 7(ptr) 7(ptr) 194 26: 6(int) Constant 2 195 36: TypeFloat 32 196 37: TypePointer Function 36(float) 197 39: TypeVector 36(float) 4 198 40: TypePointer Input 39(fvec4) 199 41(nu_inv4): 40(ptr) Variable Input 200 42: TypeInt 32 0 201 43: 42(int) Constant 0 202 44: TypePointer Input 36(float) 203 50: TypeImage 36(float) SubpassData nonsampled format:Unknown 204 51: TypeRuntimeArray 50 205 52: TypePointer UniformConstant 51 20653(inputAttachmentDyn): 52(ptr) Variable UniformConstant 207 56: TypePointer UniformConstant 50 208 59: 6(int) Constant 0 209 60: TypeVector 6(int) 2 210 61: 60(ivec2) ConstantComposite 59 59 211 66: TypeImage 36(float) Buffer sampled format:Unknown 212 67: TypeSampledImage 66 213 68: TypeRuntimeArray 67 214 69: TypePointer UniformConstant 68 21570(uniformTexelBufferDyn): 69(ptr) Variable UniformConstant 216 72: TypePointer UniformConstant 67 217 75: 6(int) Constant 1 218 81: TypeImage 36(float) Buffer nonsampled format:R32f 219 82: TypeRuntimeArray 81 220 83: TypePointer UniformConstant 82 22184(storageTexelBufferDyn): 83(ptr) Variable UniformConstant 222 86: TypePointer UniformConstant 81 223 93(uname): TypeStruct 36(float) 224 94: TypeRuntimeArray 93(uname) 225 95: TypePointer Uniform 94 22696(uniformBuffer): 95(ptr) Variable Uniform 227 97: TypePointer Input 6(int) 228 98(nu_ii): 97(ptr) Variable Input 229 100: TypePointer Uniform 36(float) 230 105(bname): TypeStruct 36(float) 231 106: TypeRuntimeArray 105(bname) 232 107: TypePointer Uniform 106 233108(storageBuffer): 107(ptr) Variable Uniform 234 114: TypeImage 36(float) 2D sampled format:Unknown 235 115: TypeSampledImage 114 236 116: TypeRuntimeArray 115 237 117: TypePointer UniformConstant 116 238118(sampledImage): 117(ptr) Variable UniformConstant 239 120: TypePointer UniformConstant 115 240 123: TypeVector 36(float) 2 241 124: 36(float) Constant 1056964608 242 125: 123(fvec2) ConstantComposite 124 124 243 130: TypeImage 36(float) 2D nonsampled format:R32f 244 131: TypeRuntimeArray 130 245 132: TypePointer UniformConstant 131 246133(storageImage): 132(ptr) Variable UniformConstant 247 135: TypePointer UniformConstant 130 248 138: 60(ivec2) ConstantComposite 75 75 249 143: TypeRuntimeArray 50 250 144: TypePointer UniformConstant 143 251145(inputAttachment): 144(ptr) Variable UniformConstant 252 153: TypeRuntimeArray 67 253 154: TypePointer UniformConstant 153 254155(uniformTexelBuffer): 154(ptr) Variable UniformConstant 255 164: TypeRuntimeArray 81 256 165: TypePointer UniformConstant 164 257166(storageTexelBuffer): 165(ptr) Variable UniformConstant 258 174: 42(int) Constant 8 259 175: TypeArray 114 174 260 176: TypePointer UniformConstant 175 261177(uniformTexArr): 176(ptr) Variable UniformConstant 262 179: TypePointer UniformConstant 114 263 182: TypeSampler 264 183: TypePointer UniformConstant 182 265184(uniformSampler): 183(ptr) Variable UniformConstant 266 187: TypePointer Input 123(fvec2) 267 188(inTexcoord): 187(ptr) Variable Input 268 205: TypeVector 6(int) 4 269 206: TypePointer Function 205(ivec4) 270 208: 42(int) Constant 1 271 215: 42(int) Constant 2 272 230: TypeMatrix 39(fvec4) 4 273 231: TypePointer Function 230 274 240(S): TypeStruct 6(int) 275 241: TypePointer Function 240(S) 276 249: 42(int) Constant 10 277 250: TypeArray 6(int) 249 278 251: TypePointer Function 250 279 268(US): TypeStruct 250 280 269: TypePointer Function 268(US) 281 4(main): 2 Function None 3 282 5: Label 283 16(a): 7(ptr) Variable Function 284 17(nu_li): 7(ptr) Variable Function 285 18(param): 7(ptr) Variable Function 286 20(param): 7(ptr) Variable Function 287 30(nu_li2): 7(ptr) Variable Function 288 38(b): 37(ptr) Variable Function 289 47(nu_gf): 37(ptr) Variable Function 290 54(dyn_i): 7(ptr) Variable Function 291 207(v): 206(ptr) Variable Function 292 222(uv): 206(ptr) Variable Function 293 232(m): 231(ptr) Variable Function 294 242(s): 241(ptr) Variable Function 295 252(arr): 251(ptr) Variable Function 296 259(um): 231(ptr) Variable Function 297 270(us): 269(ptr) Variable Function 298 278(uarr): 251(ptr) Variable Function 299 19: 6(int) Load 17(nu_li) 300 Store 18(param) 19 301 21: 6(int) FunctionCall 11(foo(i1;i1;) 18(param) 20(param) 302 22: 6(int) Load 20(param) 303 Store 17(nu_li) 22 304 Store 16(a) 21 305 23: 6(int) Load 16(a) 306 24: 6(int) CopyObject 23 307 25: 6(int) Load 16(a) 308 27: 6(int) IMul 25 26 309 28: 6(int) CopyObject 27 310 29: 6(int) IAdd 24 28 311 Store 17(nu_li) 29 312 31: 6(int) Load 16(a) 313 32: 6(int) Load 16(a) 314 33: 6(int) IMul 32 26 315 34: 6(int) CopyObject 33 316 35: 6(int) IAdd 31 34 317 Store 30(nu_li2) 35 318 45: 44(ptr) AccessChain 41(nu_inv4) 43 319 46: 36(float) Load 45 320 48: 36(float) Load 47(nu_gf) 321 49: 36(float) FMul 46 48 322 Store 38(b) 49 323 55: 6(int) Load 54(dyn_i) 324 57: 56(ptr) AccessChain 53(inputAttachmentDyn) 55 325 58: 50 Load 57 326 62: 39(fvec4) ImageRead 58 61 327 63: 36(float) CompositeExtract 62 0 328 64: 36(float) Load 38(b) 329 65: 36(float) FAdd 64 63 330 Store 38(b) 65 331 71: 6(int) Load 54(dyn_i) 332 73: 72(ptr) AccessChain 70(uniformTexelBufferDyn) 71 333 74: 67 Load 73 334 76: 66 Image 74 335 77: 39(fvec4) ImageFetch 76 75 336 78: 36(float) CompositeExtract 77 0 337 79: 36(float) Load 38(b) 338 80: 36(float) FAdd 79 78 339 Store 38(b) 80 340 85: 6(int) Load 54(dyn_i) 341 87: 86(ptr) AccessChain 84(storageTexelBufferDyn) 85 342 88: 81 Load 87 343 89: 39(fvec4) ImageRead 88 75 344 90: 36(float) CompositeExtract 89 0 345 91: 36(float) Load 38(b) 346 92: 36(float) FAdd 91 90 347 Store 38(b) 92 348 99: 6(int) Load 98(nu_ii) 349 101: 100(ptr) AccessChain 96(uniformBuffer) 99 59 350 102: 36(float) Load 101 351 103: 36(float) Load 38(b) 352 104: 36(float) FAdd 103 102 353 Store 38(b) 104 354 109: 6(int) Load 98(nu_ii) 355 110: 100(ptr) AccessChain 108(storageBuffer) 109 59 356 111: 36(float) Load 110 357 112: 36(float) Load 38(b) 358 113: 36(float) FAdd 112 111 359 Store 38(b) 113 360 119: 6(int) Load 98(nu_ii) 361 121: 120(ptr) AccessChain 118(sampledImage) 119 362 122: 115 Load 121 363 126: 39(fvec4) ImageSampleImplicitLod 122 125 364 127: 36(float) CompositeExtract 126 0 365 128: 36(float) Load 38(b) 366 129: 36(float) FAdd 128 127 367 Store 38(b) 129 368 134: 6(int) Load 98(nu_ii) 369 136: 135(ptr) AccessChain 133(storageImage) 134 370 137: 130 Load 136 371 139: 39(fvec4) ImageRead 137 138 372 140: 36(float) CompositeExtract 139 0 373 141: 36(float) Load 38(b) 374 142: 36(float) FAdd 141 140 375 Store 38(b) 142 376 146: 6(int) Load 98(nu_ii) 377 147: 56(ptr) AccessChain 145(inputAttachment) 146 378 148: 50 Load 147 379 149: 39(fvec4) ImageRead 148 61 380 150: 36(float) CompositeExtract 149 0 381 151: 36(float) Load 38(b) 382 152: 36(float) FAdd 151 150 383 Store 38(b) 152 384 156: 6(int) Load 98(nu_ii) 385 157: 72(ptr) AccessChain 155(uniformTexelBuffer) 156 386 158: 67 Load 157 387 159: 66 Image 158 388 160: 39(fvec4) ImageFetch 159 75 389 161: 36(float) CompositeExtract 160 0 390 162: 36(float) Load 38(b) 391 163: 36(float) FAdd 162 161 392 Store 38(b) 163 393 167: 6(int) Load 98(nu_ii) 394 168: 86(ptr) AccessChain 166(storageTexelBuffer) 167 395 169: 81 Load 168 396 170: 39(fvec4) ImageRead 169 75 397 171: 36(float) CompositeExtract 170 0 398 172: 36(float) Load 38(b) 399 173: 36(float) FAdd 172 171 400 Store 38(b) 173 401 178: 6(int) Load 98(nu_ii) 402 180: 179(ptr) AccessChain 177(uniformTexArr) 178 403 181: 114 Load 180 404 185: 182 Load 184(uniformSampler) 405 186: 115 SampledImage 181 185 406 189: 123(fvec2) Load 188(inTexcoord) 407 190: 39(fvec4) ImageSampleImplicitLod 186 189 408 191: 36(float) CompositeExtract 190 0 409 192: 36(float) Load 38(b) 410 193: 36(float) FAdd 192 191 411 Store 38(b) 193 412 194: 6(int) Load 98(nu_ii) 413 195: 179(ptr) AccessChain 177(uniformTexArr) 194 414 196: 114 Load 195 415 197: 182 Load 184(uniformSampler) 416 198: 115 SampledImage 196 197 417 199: 115 CopyObject 198 418 200: 123(fvec2) Load 188(inTexcoord) 419 201: 39(fvec4) ImageSampleImplicitLod 199 200 420 202: 36(float) CompositeExtract 201 0 421 203: 36(float) Load 38(b) 422 204: 36(float) FAdd 203 202 423 Store 38(b) 204 424 209: 7(ptr) AccessChain 207(v) 208 425 210: 6(int) Load 209 426 211: 100(ptr) AccessChain 96(uniformBuffer) 210 59 427 212: 36(float) Load 211 428 213: 36(float) Load 38(b) 429 214: 36(float) FAdd 213 212 430 Store 38(b) 214 431 216: 7(ptr) AccessChain 207(v) 215 432 217: 6(int) Load 216 433 218: 100(ptr) AccessChain 96(uniformBuffer) 217 59 434 219: 36(float) Load 218 435 220: 36(float) Load 38(b) 436 221: 36(float) FAdd 220 219 437 Store 38(b) 221 438 223: 6(int) Load 98(nu_ii) 439 224: 7(ptr) AccessChain 222(uv) 223 440 225: 6(int) Load 224 441 226: 100(ptr) AccessChain 96(uniformBuffer) 225 59 442 227: 36(float) Load 226 443 228: 36(float) Load 38(b) 444 229: 36(float) FAdd 228 227 445 Store 38(b) 229 446 233: 37(ptr) AccessChain 232(m) 26 215 447 234: 36(float) Load 233 448 235: 6(int) ConvertFToS 234 449 236: 100(ptr) AccessChain 96(uniformBuffer) 235 59 450 237: 36(float) Load 236 451 238: 36(float) Load 38(b) 452 239: 36(float) FAdd 238 237 453 Store 38(b) 239 454 243: 7(ptr) AccessChain 242(s) 59 455 244: 6(int) Load 243 456 245: 100(ptr) AccessChain 96(uniformBuffer) 244 59 457 246: 36(float) Load 245 458 247: 36(float) Load 38(b) 459 248: 36(float) FAdd 247 246 460 Store 38(b) 248 461 253: 7(ptr) AccessChain 252(arr) 26 462 254: 6(int) Load 253 463 255: 100(ptr) AccessChain 96(uniformBuffer) 254 59 464 256: 36(float) Load 255 465 257: 36(float) Load 38(b) 466 258: 36(float) FAdd 257 256 467 Store 38(b) 258 468 260: 6(int) Load 98(nu_ii) 469 261: 37(ptr) AccessChain 259(um) 260 215 470 262: 36(float) Load 261 471 263: 6(int) ConvertFToS 262 472 264: 100(ptr) AccessChain 96(uniformBuffer) 263 59 473 265: 36(float) Load 264 474 266: 36(float) Load 38(b) 475 267: 36(float) FAdd 266 265 476 Store 38(b) 267 477 271: 6(int) Load 98(nu_ii) 478 272: 7(ptr) AccessChain 270(us) 59 271 479 273: 6(int) Load 272 480 274: 100(ptr) AccessChain 96(uniformBuffer) 273 59 481 275: 36(float) Load 274 482 276: 36(float) Load 38(b) 483 277: 36(float) FAdd 276 275 484 Store 38(b) 277 485 279: 6(int) Load 98(nu_ii) 486 280: 7(ptr) AccessChain 278(uarr) 279 487 281: 6(int) Load 280 488 282: 100(ptr) AccessChain 96(uniformBuffer) 281 59 489 283: 36(float) Load 282 490 284: 36(float) Load 38(b) 491 285: 36(float) FAdd 284 283 492 Store 38(b) 285 493 286: 6(int) Load 98(nu_ii) 494 287: 36(float) Load 38(b) 495 288: 100(ptr) AccessChain 108(storageBuffer) 286 59 496 Store 288 287 497 Return 498 FunctionEnd 499 11(foo(i1;i1;): 6(int) Function None 8 500 9(nupi): 7(ptr) FunctionParameter 501 10(f): 7(ptr) FunctionParameter 502 12: Label 503 13: 6(int) Load 9(nupi) 504 ReturnValue 13 505 FunctionEnd 506