spv.sparseTextureClamp.frag
Validation failed
// Module Version 10000
// Generated by (magic number): 8000a
// Id's are bound by 360

                              Capability Shader
                              Capability SampledRect
                              Capability SparseResidency
                              Capability MinLod
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 33 36 51 95 345
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_ARB_sparse_texture_clamp"
                              Name 4  "main"
                              Name 8  "resident"
                              Name 13  "texel"
                              Name 18  "itexel"
                              Name 23  "utexel"
                              Name 29  "s2D"
                              Name 33  "c2"
                              Name 36  "lodClamp"
                              Name 38  "ResType"
                              Name 47  "s3D"
                              Name 51  "c3"
                              Name 63  "isCube"
                              Name 67  "ResType"
                              Name 76  "s2DShadow"
                              Name 83  "ResType"
                              Name 92  "sCubeArrayShadow"
                              Name 95  "c4"
                              Name 154  "us2DRect"
                              Name 161  "ResType"
                              Name 170  "s2DArrayShadow"
                              Name 218  "sCubeShadow"
                              Name 235  "usCubeArray"
                              Name 286  "s2DRectShadow"
                              Name 305  "is2DArray"
                              Name 345  "outColor"
                              Decorate 29(s2D) DescriptorSet 0
                              Decorate 29(s2D) Binding 0
                              Decorate 33(c2) Location 0
                              Decorate 36(lodClamp) Location 3
                              Decorate 47(s3D) DescriptorSet 0
                              Decorate 47(s3D) Binding 1
                              Decorate 51(c3) Location 1
                              Decorate 63(isCube) DescriptorSet 0
                              Decorate 63(isCube) Binding 7
                              Decorate 76(s2DShadow) DescriptorSet 0
                              Decorate 76(s2DShadow) Binding 2
                              Decorate 92(sCubeArrayShadow) DescriptorSet 0
                              Decorate 92(sCubeArrayShadow) Binding 6
                              Decorate 95(c4) Location 2
                              Decorate 154(us2DRect) DescriptorSet 0
                              Decorate 154(us2DRect) Binding 10
                              Decorate 170(s2DArrayShadow) DescriptorSet 0
                              Decorate 170(s2DArrayShadow) Binding 4
                              Decorate 218(sCubeShadow) DescriptorSet 0
                              Decorate 218(sCubeShadow) Binding 3
                              Decorate 235(usCubeArray) DescriptorSet 0
                              Decorate 235(usCubeArray) Binding 9
                              Decorate 286(s2DRectShadow) DescriptorSet 0
                              Decorate 286(s2DRectShadow) Binding 5
                              Decorate 305(is2DArray) DescriptorSet 0
                              Decorate 305(is2DArray) Binding 8
                              Decorate 345(outColor) Location 0
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               9:      6(int) Constant 0
              10:             TypeFloat 32
              11:             TypeVector 10(float) 4
              12:             TypePointer Function 11(fvec4)
              14:   10(float) Constant 0
              15:   11(fvec4) ConstantComposite 14 14 14 14
              16:             TypeVector 6(int) 4
              17:             TypePointer Function 16(ivec4)
              19:   16(ivec4) ConstantComposite 9 9 9 9
              20:             TypeInt 32 0
              21:             TypeVector 20(int) 4
              22:             TypePointer Function 21(ivec4)
              24:     20(int) Constant 0
              25:   21(ivec4) ConstantComposite 24 24 24 24
              26:             TypeImage 10(float) 2D sampled format:Unknown
              27:             TypeSampledImage 26
              28:             TypePointer UniformConstant 27
         29(s2D):     28(ptr) Variable UniformConstant
              31:             TypeVector 10(float) 2
              32:             TypePointer Input 31(fvec2)
          33(c2):     32(ptr) Variable Input
              35:             TypePointer Input 10(float)
    36(lodClamp):     35(ptr) Variable Input
     38(ResType):             TypeStruct 6(int) 11(fvec4)
              44:             TypeImage 10(float) 3D sampled format:Unknown
              45:             TypeSampledImage 44
              46:             TypePointer UniformConstant 45
         47(s3D):     46(ptr) Variable UniformConstant
              49:             TypeVector 10(float) 3
              50:             TypePointer Input 49(fvec3)
          51(c3):     50(ptr) Variable Input
              54:   10(float) Constant 1073741824
              60:             TypeImage 6(int) Cube sampled format:Unknown
              61:             TypeSampledImage 60
              62:             TypePointer UniformConstant 61
      63(isCube):     62(ptr) Variable UniformConstant
     67(ResType):             TypeStruct 6(int) 16(ivec4)
              73:             TypeImage 10(float) 2D depth sampled format:Unknown
              74:             TypeSampledImage 73
              75:             TypePointer UniformConstant 74
   76(s2DShadow):     75(ptr) Variable UniformConstant
              80:             TypePointer Function 10(float)
     83(ResType):             TypeStruct 6(int) 10(float)
              89:             TypeImage 10(float) Cube depth array sampled format:Unknown
              90:             TypeSampledImage 89
              91:             TypePointer UniformConstant 90
92(sCubeArrayShadow):     91(ptr) Variable UniformConstant
              94:             TypePointer Input 11(fvec4)
          95(c4):     94(ptr) Variable Input
              97:   10(float) Constant 1065353216
             142:             TypeVector 6(int) 3
             143:      6(int) Constant 2
             144:  142(ivec3) ConstantComposite 143 143 143
             151:             TypeImage 20(int) Rect sampled format:Unknown
             152:             TypeSampledImage 151
             153:             TypePointer UniformConstant 152
   154(us2DRect):    153(ptr) Variable UniformConstant
             157:             TypeVector 6(int) 2
             158:      6(int) Constant 3
             159:  157(ivec2) ConstantComposite 158 158
    161(ResType):             TypeStruct 6(int) 21(ivec4)
             167:             TypeImage 10(float) 2D depth array sampled format:Unknown
             168:             TypeSampledImage 167
             169:             TypePointer UniformConstant 168
170(s2DArrayShadow):    169(ptr) Variable UniformConstant
             173:      6(int) Constant 5
             174:  157(ivec2) ConstantComposite 173 173
             176:     20(int) Constant 2
             215:             TypeImage 10(float) Cube depth sampled format:Unknown
             216:             TypeSampledImage 215
             217:             TypePointer UniformConstant 216
218(sCubeShadow):    217(ptr) Variable UniformConstant
             224:     20(int) Constant 1
             232:             TypeImage 20(int) Cube array sampled format:Unknown
             233:             TypeSampledImage 232
             234:             TypePointer UniformConstant 233
235(usCubeArray):    234(ptr) Variable UniformConstant
             283:             TypeImage 10(float) Rect depth sampled format:Unknown
             284:             TypeSampledImage 283
             285:             TypePointer UniformConstant 284
286(s2DRectShadow):    285(ptr) Variable UniformConstant
             291:      6(int) Constant 6
             292:  157(ivec2) ConstantComposite 291 291
             294:     20(int) Constant 3
             302:             TypeImage 6(int) 2D array sampled format:Unknown
             303:             TypeSampledImage 302
             304:             TypePointer UniformConstant 303
  305(is2DArray):    304(ptr) Variable UniformConstant
             310:  157(ivec2) ConstantComposite 143 143
             344:             TypePointer Output 11(fvec4)
   345(outColor):    344(ptr) Variable Output
             347:             TypeBool
         4(main):           2 Function None 3
               5:             Label
     8(resident):      7(ptr) Variable Function
       13(texel):     12(ptr) Variable Function
      18(itexel):     17(ptr) Variable Function
      23(utexel):     22(ptr) Variable Function
             349:     12(ptr) Variable Function
                              Store 8(resident) 9
                              Store 13(texel) 15
                              Store 18(itexel) 19
                              Store 23(utexel) 25
              30:          27 Load 29(s2D)
              34:   31(fvec2) Load 33(c2)
              37:   10(float) Load 36(lodClamp)
              39: 38(ResType) ImageSparseSampleImplicitLod 30 34 MinLod 37
              40:   11(fvec4) CompositeExtract 39 1
                              Store 13(texel) 40
              41:      6(int) CompositeExtract 39 0
              42:      6(int) Load 8(resident)
              43:      6(int) BitwiseOr 42 41
                              Store 8(resident) 43
              48:          45 Load 47(s3D)
              52:   49(fvec3) Load 51(c3)
              53:   10(float) Load 36(lodClamp)
              55: 38(ResType) ImageSparseSampleImplicitLod 48 52 Bias MinLod 54 53
              56:   11(fvec4) CompositeExtract 55 1
                              Store 13(texel) 56
              57:      6(int) CompositeExtract 55 0
              58:      6(int) Load 8(resident)
              59:      6(int) BitwiseOr 58 57
                              Store 8(resident) 59
              64:          61 Load 63(isCube)
              65:   49(fvec3) Load 51(c3)
              66:   10(float) Load 36(lodClamp)
              68: 67(ResType) ImageSparseSampleImplicitLod 64 65 MinLod 66
              69:   16(ivec4) CompositeExtract 68 1
                              Store 18(itexel) 69
              70:      6(int) CompositeExtract 68 0
              71:      6(int) Load 8(resident)
              72:      6(int) BitwiseOr 71 70
                              Store 8(resident) 72
              77:          74 Load 76(s2DShadow)
              78:   49(fvec3) Load 51(c3)
              79:   10(float) Load 36(lodClamp)
              81:     80(ptr) AccessChain 13(texel) 24
              82:   10(float) CompositeExtract 78 2
              84: 83(ResType) ImageSparseSampleDrefImplicitLod 77 78 82 MinLod 79
              85:   10(float) CompositeExtract 84 1
                              Store 81 85
              86:      6(int) CompositeExtract 84 0
              87:      6(int) Load 8(resident)
              88:      6(int) BitwiseOr 87 86
                              Store 8(resident) 88
              93:          90 Load 92(sCubeArrayShadow)
              96:   11(fvec4) Load 95(c4)
              98:   10(float) Load 36(lodClamp)
              99:     80(ptr) AccessChain 13(texel) 24
             100: 83(ResType) ImageSparseSampleDrefImplicitLod 93 96 97 MinLod 98
             101:   10(float) CompositeExtract 100 1
                              Store 99 101
             102:      6(int) CompositeExtract 100 0
             103:      6(int) Load 8(resident)
             104:      6(int) BitwiseOr 103 102
                              Store 8(resident) 104
             105:          27 Load 29(s2D)
             106:   31(fvec2) Load 33(c2)
             107:   10(float) Load 36(lodClamp)
             108:   11(fvec4) ImageSampleImplicitLod 105 106 MinLod 107
             109:   11(fvec4) Load 13(texel)
             110:   11(fvec4) FAdd 109 108
                              Store 13(texel) 110
             111:          45 Load 47(s3D)
             112:   49(fvec3) Load 51(c3)
             113:   10(float) Load 36(lodClamp)
             114:   11(fvec4) ImageSampleImplicitLod 111 112 Bias MinLod 54 113
             115:   11(fvec4) Load 13(texel)
             116:   11(fvec4) FAdd 115 114
                              Store 13(texel) 116
             117:          61 Load 63(isCube)
             118:   49(fvec3) Load 51(c3)
             119:   10(float) Load 36(lodClamp)
             120:   16(ivec4) ImageSampleImplicitLod 117 118 MinLod 119
             121:   16(ivec4) Load 18(itexel)
             122:   16(ivec4) IAdd 121 120
                              Store 18(itexel) 122
             123:          74 Load 76(s2DShadow)
             124:   49(fvec3) Load 51(c3)
             125:   10(float) Load 36(lodClamp)
             126:   10(float) CompositeExtract 124 2
             127:   10(float) ImageSampleDrefImplicitLod 123 124 126 MinLod 125
             128:     80(ptr) AccessChain 13(texel) 24
             129:   10(float) Load 128
             130:   10(float) FAdd 129 127
             131:     80(ptr) AccessChain 13(texel) 24
                              Store 131 130
             132:          90 Load 92(sCubeArrayShadow)
             133:   11(fvec4) Load 95(c4)
             134:   10(float) Load 36(lodClamp)
             135:   10(float) ImageSampleDrefImplicitLod 132 133 97 MinLod 134
             136:     80(ptr) AccessChain 13(texel) 24
             137:   10(float) Load 136
             138:   10(float) FAdd 137 135
             139:     80(ptr) AccessChain 13(texel) 24
                              Store 139 138
             140:          45 Load 47(s3D)
             141:   49(fvec3) Load 51(c3)
             145:   10(float) Load 36(lodClamp)
             146: 38(ResType) ImageSparseSampleImplicitLod 140 141 Bias ConstOffset MinLod 54 144 145
             147:   11(fvec4) CompositeExtract 146 1
                              Store 13(texel) 147
             148:      6(int) CompositeExtract 146 0
             149:      6(int) Load 8(resident)
             150:      6(int) BitwiseOr 149 148
                              Store 8(resident) 150
             155:         152 Load 154(us2DRect)
             156:   31(fvec2) Load 33(c2)
             160:   10(float) Load 36(lodClamp)
             162:161(ResType) ImageSparseSampleImplicitLod 155 156 ConstOffset MinLod 159 160
             163:   21(ivec4) CompositeExtract 162 1
                              Store 23(utexel) 163
             164:      6(int) CompositeExtract 162 0
             165:      6(int) Load 8(resident)
             166:      6(int) BitwiseOr 165 164
                              Store 8(resident) 166
             171:         168 Load 170(s2DArrayShadow)
             172:   11(fvec4) Load 95(c4)
             175:   10(float) Load 36(lodClamp)
             177:     80(ptr) AccessChain 13(texel) 176
             178:   10(float) CompositeExtract 172 3
             179: 83(ResType) ImageSparseSampleDrefImplicitLod 171 172 178 ConstOffset MinLod 174 175
             180:   10(float) CompositeExtract 179 1
                              Store 177 180
             181:      6(int) CompositeExtract 179 0
             182:      6(int) Load 8(resident)
             183:      6(int) BitwiseOr 182 181
                              Store 8(resident) 183
             184:          45 Load 47(s3D)
             185:   49(fvec3) Load 51(c3)
             186:   10(float) Load 36(lodClamp)
             187:   11(fvec4) ImageSampleImplicitLod 184 185 Bias ConstOffset MinLod 54 144 186
             188:   11(fvec4) Load 13(texel)
             189:   11(fvec4) FAdd 188 187
                              Store 13(texel) 189
             190:         152 Load 154(us2DRect)
             191:   31(fvec2) Load 33(c2)
             192:   10(float) Load 36(lodClamp)
             193:   21(ivec4) ImageSampleImplicitLod 190 191 ConstOffset MinLod 159 192
             194:   21(ivec4) Load 23(utexel)
             195:   21(ivec4) IAdd 194 193
                              Store 23(utexel) 195
             196:         168 Load 170(s2DArrayShadow)
             197:   11(fvec4) Load 95(c4)
             198:   10(float) Load 36(lodClamp)
             199:   10(float) CompositeExtract 197 3
             200:   10(float) ImageSampleDrefImplicitLod 196 197 199 ConstOffset MinLod 174 198
             201:     80(ptr) AccessChain 13(texel) 176
             202:   10(float) Load 201
             203:   10(float) FAdd 202 200
             204:     80(ptr) AccessChain 13(texel) 176
                              Store 204 203
             205:          45 Load 47(s3D)
             206:   49(fvec3) Load 51(c3)
             207:   49(fvec3) Load 51(c3)
             208:   49(fvec3) Load 51(c3)
             209:   10(float) Load 36(lodClamp)
             210: 38(ResType) ImageSparseSampleExplicitLod 205 206 Grad MinLod 207 208 209
             211:   11(fvec4) CompositeExtract 210 1
                              Store 13(texel) 211
             212:      6(int) CompositeExtract 210 0
             213:      6(int) Load 8(resident)
             214:      6(int) BitwiseOr 213 212
                              Store 8(resident) 214
             219:         216 Load 218(sCubeShadow)
             220:   11(fvec4) Load 95(c4)
             221:   49(fvec3) Load 51(c3)
             222:   49(fvec3) Load 51(c3)
             223:   10(float) Load 36(lodClamp)
             225:     80(ptr) AccessChain 13(texel) 224
             226:   10(float) CompositeExtract 220 3
             227: 83(ResType) ImageSparseSampleDrefExplicitLod 219 220 226 Grad MinLod 221 222 223
             228:   10(float) CompositeExtract 227 1
                              Store 225 228
             229:      6(int) CompositeExtract 227 0
             230:      6(int) Load 8(resident)
             231:      6(int) BitwiseOr 230 229
                              Store 8(resident) 231
             236:         233 Load 235(usCubeArray)
             237:   11(fvec4) Load 95(c4)
             238:   49(fvec3) Load 51(c3)
             239:   49(fvec3) Load 51(c3)
             240:   10(float) Load 36(lodClamp)
             241:161(ResType) ImageSparseSampleExplicitLod 236 237 Grad MinLod 238 239 240
             242:   21(ivec4) CompositeExtract 241 1
                              Store 23(utexel) 242
             243:      6(int) CompositeExtract 241 0
             244:      6(int) Load 8(resident)
             245:      6(int) BitwiseOr 244 243
                              Store 8(resident) 245
             246:          45 Load 47(s3D)
             247:   49(fvec3) Load 51(c3)
             248:   49(fvec3) Load 51(c3)
             249:   49(fvec3) Load 51(c3)
             250:   10(float) Load 36(lodClamp)
             251:   11(fvec4) ImageSampleExplicitLod 246 247 Grad MinLod 248 249 250
             252:   11(fvec4) Load 13(texel)
             253:   11(fvec4) FAdd 252 251
                              Store 13(texel) 253
             254:         216 Load 218(sCubeShadow)
             255:   11(fvec4) Load 95(c4)
             256:   49(fvec3) Load 51(c3)
             257:   49(fvec3) Load 51(c3)
             258:   10(float) Load 36(lodClamp)
             259:   10(float) CompositeExtract 255 3
             260:   10(float) ImageSampleDrefExplicitLod 254 255 259 Grad MinLod 256 257 258
             261:     80(ptr) AccessChain 13(texel) 224
             262:   10(float) Load 261
             263:   10(float) FAdd 262 260
             264:     80(ptr) AccessChain 13(texel) 224
                              Store 264 263
             265:         233 Load 235(usCubeArray)
             266:   11(fvec4) Load 95(c4)
             267:   49(fvec3) Load 51(c3)
             268:   49(fvec3) Load 51(c3)
             269:   10(float) Load 36(lodClamp)
             270:   21(ivec4) ImageSampleExplicitLod 265 266 Grad MinLod 267 268 269
             271:   21(ivec4) Load 23(utexel)
             272:   21(ivec4) IAdd 271 270
                              Store 23(utexel) 272
             273:          27 Load 29(s2D)
             274:   31(fvec2) Load 33(c2)
             275:   31(fvec2) Load 33(c2)
             276:   31(fvec2) Load 33(c2)
             277:   10(float) Load 36(lodClamp)
             278: 38(ResType) ImageSparseSampleExplicitLod 273 274 Grad ConstOffset MinLod 275 276 174 277
             279:   11(fvec4) CompositeExtract 278 1
                              Store 13(texel) 279
             280:      6(int) CompositeExtract 278 0
             281:      6(int) Load 8(resident)
             282:      6(int) BitwiseOr 281 280
                              Store 8(resident) 282
             287:         284 Load 286(s2DRectShadow)
             288:   49(fvec3) Load 51(c3)
             289:   31(fvec2) Load 33(c2)
             290:   31(fvec2) Load 33(c2)
             293:   10(float) Load 36(lodClamp)
             295:     80(ptr) AccessChain 13(texel) 294
             296:   10(float) CompositeExtract 288 2
             297: 83(ResType) ImageSparseSampleDrefExplicitLod 287 288 296 Grad ConstOffset MinLod 289 290 292 293
             298:   10(float) CompositeExtract 297 1
                              Store 295 298
             299:      6(int) CompositeExtract 297 0
             300:      6(int) Load 8(resident)
             301:      6(int) BitwiseOr 300 299
                              Store 8(resident) 301
             306:         303 Load 305(is2DArray)
             307:   49(fvec3) Load 51(c3)
             308:   31(fvec2) Load 33(c2)
             309:   31(fvec2) Load 33(c2)
             311:   10(float) Load 36(lodClamp)
             312: 67(ResType) ImageSparseSampleExplicitLod 306 307 Grad ConstOffset MinLod 308 309 310 311
             313:   16(ivec4) CompositeExtract 312 1
                              Store 18(itexel) 313
             314:      6(int) CompositeExtract 312 0
             315:      6(int) Load 8(resident)
             316:      6(int) BitwiseOr 315 314
                              Store 8(resident) 316
             317:          27 Load 29(s2D)
             318:   31(fvec2) Load 33(c2)
             319:   31(fvec2) Load 33(c2)
             320:   31(fvec2) Load 33(c2)
             321:   10(float) Load 36(lodClamp)
             322:   11(fvec4) ImageSampleExplicitLod 317 318 Grad ConstOffset MinLod 319 320 174 321
             323:   11(fvec4) Load 13(texel)
             324:   11(fvec4) FAdd 323 322
                              Store 13(texel) 324
             325:         284 Load 286(s2DRectShadow)
             326:   49(fvec3) Load 51(c3)
             327:   31(fvec2) Load 33(c2)
             328:   31(fvec2) Load 33(c2)
             329:   10(float) Load 36(lodClamp)
             330:   10(float) CompositeExtract 326 2
             331:   10(float) ImageSampleDrefExplicitLod 325 326 330 Grad ConstOffset MinLod 327 328 292 329
             332:     80(ptr) AccessChain 13(texel) 294
             333:   10(float) Load 332
             334:   10(float) FAdd 333 331
             335:     80(ptr) AccessChain 13(texel) 294
                              Store 335 334
             336:         303 Load 305(is2DArray)
             337:   49(fvec3) Load 51(c3)
             338:   31(fvec2) Load 33(c2)
             339:   31(fvec2) Load 33(c2)
             340:   10(float) Load 36(lodClamp)
             341:   16(ivec4) ImageSampleExplicitLod 336 337 Grad ConstOffset MinLod 338 339 310 340
             342:   16(ivec4) Load 18(itexel)
             343:   16(ivec4) IAdd 342 341
                              Store 18(itexel) 343
             346:      6(int) Load 8(resident)
             348:   347(bool) ImageSparseTexelsResident 346
                              SelectionMerge 351 None
                              BranchConditional 348 350 353
             350:               Label
             352:   11(fvec4)   Load 13(texel)
                                Store 349 352
                                Branch 351
             353:               Label
             354:   16(ivec4)   Load 18(itexel)
             355:   11(fvec4)   ConvertSToF 354
             356:   21(ivec4)   Load 23(utexel)
             357:   11(fvec4)   ConvertUToF 356
             358:   11(fvec4)   FAdd 355 357
                                Store 349 358
                                Branch 351
             351:             Label
             359:   11(fvec4) Load 349
                              Store 345(outColor) 359
                              Return
                              FunctionEnd
