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

                              Capability Shader
                              Capability ImageGatherExtended
                              Capability StorageImageMultisample
                              Capability SampledRect
                              Capability SparseResidency
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 33 48 89 365 393 405 423
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_ARB_sparse_texture2"
                              Name 4  "main"
                              Name 8  "resident"
                              Name 13  "texel"
                              Name 18  "itexel"
                              Name 23  "utexel"
                              Name 29  "s2D"
                              Name 33  "c2"
                              Name 35  "ResType"
                              Name 44  "s3D"
                              Name 48  "c3"
                              Name 59  "isCube"
                              Name 62  "ResType"
                              Name 71  "s2DShadow"
                              Name 77  "ResType"
                              Name 86  "sCubeArrayShadow"
                              Name 89  "c4"
                              Name 108  "usCubeArray"
                              Name 111  "ResType"
                              Name 140  "us2DRect"
                              Name 154  "s2DArrayShadow"
                              Name 188  "s2DMS"
                              Name 228  "is2DArray"
                              Name 261  "sCubeShadow"
                              Name 294  "s2DRectShadow"
                              Name 365  "offsets"
                              Name 390  "i2D"
                              Name 393  "ic2"
                              Name 402  "ii3D"
                              Name 405  "ic3"
                              Name 414  "i2DMS"
                              Name 423  "outColor"
                              Decorate 29(s2D) DescriptorSet 0
                              Decorate 29(s2D) Binding 0
                              Decorate 33(c2) Location 0
                              Decorate 44(s3D) DescriptorSet 0
                              Decorate 44(s3D) Binding 1
                              Decorate 48(c3) Location 1
                              Decorate 59(isCube) DescriptorSet 0
                              Decorate 59(isCube) Binding 8
                              Decorate 71(s2DShadow) DescriptorSet 0
                              Decorate 71(s2DShadow) Binding 2
                              Decorate 86(sCubeArrayShadow) DescriptorSet 0
                              Decorate 86(sCubeArrayShadow) Binding 6
                              Decorate 89(c4) Location 2
                              Decorate 108(usCubeArray) DescriptorSet 0
                              Decorate 108(usCubeArray) Binding 10
                              Decorate 140(us2DRect) DescriptorSet 0
                              Decorate 140(us2DRect) Binding 11
                              Decorate 154(s2DArrayShadow) DescriptorSet 0
                              Decorate 154(s2DArrayShadow) Binding 4
                              Decorate 188(s2DMS) DescriptorSet 0
                              Decorate 188(s2DMS) Binding 7
                              Decorate 228(is2DArray) DescriptorSet 0
                              Decorate 228(is2DArray) Binding 9
                              Decorate 261(sCubeShadow) DescriptorSet 0
                              Decorate 261(sCubeShadow) Binding 3
                              Decorate 294(s2DRectShadow) DescriptorSet 0
                              Decorate 294(s2DRectShadow) Binding 5
                              Decorate 365(offsets) Flat
                              Decorate 365(offsets) Location 5
                              Decorate 390(i2D) DescriptorSet 0
                              Decorate 390(i2D) Binding 12
                              Decorate 393(ic2) Flat
                              Decorate 393(ic2) Location 3
                              Decorate 402(ii3D) DescriptorSet 0
                              Decorate 402(ii3D) Binding 13
                              Decorate 405(ic3) Flat
                              Decorate 405(ic3) Location 4
                              Decorate 414(i2DMS) DescriptorSet 0
                              Decorate 414(i2DMS) Binding 14
                              Decorate 423(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(ResType):             TypeStruct 6(int) 11(fvec4)
              41:             TypeImage 10(float) 3D sampled format:Unknown
              42:             TypeSampledImage 41
              43:             TypePointer UniformConstant 42
         44(s3D):     43(ptr) Variable UniformConstant
              46:             TypeVector 10(float) 3
              47:             TypePointer Input 46(fvec3)
          48(c3):     47(ptr) Variable Input
              50:   10(float) Constant 1073741824
              56:             TypeImage 6(int) Cube sampled format:Unknown
              57:             TypeSampledImage 56
              58:             TypePointer UniformConstant 57
      59(isCube):     58(ptr) Variable UniformConstant
     62(ResType):             TypeStruct 6(int) 16(ivec4)
              68:             TypeImage 10(float) 2D depth sampled format:Unknown
              69:             TypeSampledImage 68
              70:             TypePointer UniformConstant 69
   71(s2DShadow):     70(ptr) Variable UniformConstant
              74:             TypePointer Function 10(float)
     77(ResType):             TypeStruct 6(int) 10(float)
              83:             TypeImage 10(float) Cube depth array sampled format:Unknown
              84:             TypeSampledImage 83
              85:             TypePointer UniformConstant 84
86(sCubeArrayShadow):     85(ptr) Variable UniformConstant
              88:             TypePointer Input 11(fvec4)
          89(c4):     88(ptr) Variable Input
              91:   10(float) Constant 1065353216
             105:             TypeImage 20(int) Cube array sampled format:Unknown
             106:             TypeSampledImage 105
             107:             TypePointer UniformConstant 106
108(usCubeArray):    107(ptr) Variable UniformConstant
    111(ResType):             TypeStruct 6(int) 21(ivec4)
             119:     20(int) Constant 1
             129:             TypeVector 6(int) 3
             130:      6(int) Constant 2
             131:  129(ivec3) ConstantComposite 130 130 130
             137:             TypeImage 20(int) Rect sampled format:Unknown
             138:             TypeSampledImage 137
             139:             TypePointer UniformConstant 138
   140(us2DRect):    139(ptr) Variable UniformConstant
             143:             TypeVector 6(int) 2
             144:      6(int) Constant 3
             145:  143(ivec2) ConstantComposite 144 144
             151:             TypeImage 10(float) 2D depth array sampled format:Unknown
             152:             TypeSampledImage 151
             153:             TypePointer UniformConstant 152
154(s2DArrayShadow):    153(ptr) Variable UniformConstant
             157:      6(int) Constant 5
             158:  143(ivec2) ConstantComposite 157 157
             159:     20(int) Constant 2
             185:             TypeImage 10(float) 2D multi-sampled sampled format:Unknown
             186:             TypeSampledImage 185
             187:             TypePointer UniformConstant 186
      188(s2DMS):    187(ptr) Variable UniformConstant
             192:      6(int) Constant 4
             202:  129(ivec3) ConstantComposite 192 192 192
             225:             TypeImage 6(int) 2D array sampled format:Unknown
             226:             TypeSampledImage 225
             227:             TypePointer UniformConstant 226
  228(is2DArray):    227(ptr) Variable UniformConstant
             231:      6(int) Constant 6
             232:  143(ivec2) ConstantComposite 231 231
             240:      6(int) Constant 7
             241:  143(ivec2) ConstantComposite 240 240
             258:             TypeImage 10(float) Cube depth sampled format:Unknown
             259:             TypeSampledImage 258
             260:             TypePointer UniformConstant 259
261(sCubeShadow):    260(ptr) Variable UniformConstant
             291:             TypeImage 10(float) Rect depth sampled format:Unknown
             292:             TypeSampledImage 291
             293:             TypePointer UniformConstant 292
294(s2DRectShadow):    293(ptr) Variable UniformConstant
             299:     20(int) Constant 3
             311:  143(ivec2) ConstantComposite 130 130
             340:  143(ivec2) ConstantComposite 192 192
             362:     20(int) Constant 4
             363:             TypeArray 143(ivec2) 362
             364:             TypePointer Input 363
    365(offsets):    364(ptr) Variable Input
             388:             TypeImage 10(float) 2D nonsampled format:Rgba32f
             389:             TypePointer UniformConstant 388
        390(i2D):    389(ptr) Variable UniformConstant
             392:             TypePointer Input 143(ivec2)
        393(ic2):    392(ptr) Variable Input
             400:             TypeImage 6(int) 3D nonsampled format:Rgba32i
             401:             TypePointer UniformConstant 400
       402(ii3D):    401(ptr) Variable UniformConstant
             404:             TypePointer Input 129(ivec3)
        405(ic3):    404(ptr) Variable Input
             412:             TypeImage 10(float) 2D multi-sampled nonsampled format:Rgba32f
             413:             TypePointer UniformConstant 412
      414(i2DMS):    413(ptr) Variable UniformConstant
             422:             TypePointer Output 11(fvec4)
   423(outColor):    422(ptr) Variable Output
             425:             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
             427:     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)
              36: 35(ResType) ImageSparseSampleImplicitLod 30 34
              37:   11(fvec4) CompositeExtract 36 1
                              Store 13(texel) 37
              38:      6(int) CompositeExtract 36 0
              39:      6(int) Load 8(resident)
              40:      6(int) BitwiseOr 39 38
                              Store 8(resident) 40
              45:          42 Load 44(s3D)
              49:   46(fvec3) Load 48(c3)
              51: 35(ResType) ImageSparseSampleImplicitLod 45 49 Bias 50
              52:   11(fvec4) CompositeExtract 51 1
                              Store 13(texel) 52
              53:      6(int) CompositeExtract 51 0
              54:      6(int) Load 8(resident)
              55:      6(int) BitwiseOr 54 53
                              Store 8(resident) 55
              60:          57 Load 59(isCube)
              61:   46(fvec3) Load 48(c3)
              63: 62(ResType) ImageSparseSampleImplicitLod 60 61
              64:   16(ivec4) CompositeExtract 63 1
                              Store 18(itexel) 64
              65:      6(int) CompositeExtract 63 0
              66:      6(int) Load 8(resident)
              67:      6(int) BitwiseOr 66 65
                              Store 8(resident) 67
              72:          69 Load 71(s2DShadow)
              73:   46(fvec3) Load 48(c3)
              75:     74(ptr) AccessChain 13(texel) 24
              76:   10(float) CompositeExtract 73 2
              78: 77(ResType) ImageSparseSampleDrefImplicitLod 72 73 76
              79:   10(float) CompositeExtract 78 1
                              Store 75 79
              80:      6(int) CompositeExtract 78 0
              81:      6(int) Load 8(resident)
              82:      6(int) BitwiseOr 81 80
                              Store 8(resident) 82
              87:          84 Load 86(sCubeArrayShadow)
              90:   11(fvec4) Load 89(c4)
              92:     74(ptr) AccessChain 13(texel) 24
              93: 77(ResType) ImageSparseSampleDrefImplicitLod 87 90 91
              94:   10(float) CompositeExtract 93 1
                              Store 92 94
              95:      6(int) CompositeExtract 93 0
              96:      6(int) Load 8(resident)
              97:      6(int) BitwiseOr 96 95
                              Store 8(resident) 97
              98:          27 Load 29(s2D)
              99:   31(fvec2) Load 33(c2)
             100: 35(ResType) ImageSparseSampleExplicitLod 98 99 Lod 50
             101:   11(fvec4) CompositeExtract 100 1
                              Store 13(texel) 101
             102:      6(int) CompositeExtract 100 0
             103:      6(int) Load 8(resident)
             104:      6(int) BitwiseOr 103 102
                              Store 8(resident) 104
             109:         106 Load 108(usCubeArray)
             110:   11(fvec4) Load 89(c4)
             112:111(ResType) ImageSparseSampleExplicitLod 109 110 Lod 91
             113:   21(ivec4) CompositeExtract 112 1
                              Store 23(utexel) 113
             114:      6(int) CompositeExtract 112 0
             115:      6(int) Load 8(resident)
             116:      6(int) BitwiseOr 115 114
                              Store 8(resident) 116
             117:          69 Load 71(s2DShadow)
             118:   46(fvec3) Load 48(c3)
             120:     74(ptr) AccessChain 13(texel) 119
             121:   10(float) CompositeExtract 118 2
             122: 77(ResType) ImageSparseSampleDrefExplicitLod 117 118 121 Lod 50
             123:   10(float) CompositeExtract 122 1
                              Store 120 123
             124:      6(int) CompositeExtract 122 0
             125:      6(int) Load 8(resident)
             126:      6(int) BitwiseOr 125 124
                              Store 8(resident) 126
             127:          42 Load 44(s3D)
             128:   46(fvec3) Load 48(c3)
             132: 35(ResType) ImageSparseSampleImplicitLod 127 128 Bias ConstOffset 50 131
             133:   11(fvec4) CompositeExtract 132 1
                              Store 13(texel) 133
             134:      6(int) CompositeExtract 132 0
             135:      6(int) Load 8(resident)
             136:      6(int) BitwiseOr 135 134
                              Store 8(resident) 136
             141:         138 Load 140(us2DRect)
             142:   31(fvec2) Load 33(c2)
             146:111(ResType) ImageSparseSampleImplicitLod 141 142 ConstOffset 145
             147:   21(ivec4) CompositeExtract 146 1
                              Store 23(utexel) 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(s2DArrayShadow)
             156:   11(fvec4) Load 89(c4)
             160:     74(ptr) AccessChain 13(texel) 159
             161:   10(float) CompositeExtract 156 3
             162: 77(ResType) ImageSparseSampleDrefImplicitLod 155 156 161 ConstOffset 158
             163:   10(float) CompositeExtract 162 1
                              Store 160 163
             164:      6(int) CompositeExtract 162 0
             165:      6(int) Load 8(resident)
             166:      6(int) BitwiseOr 165 164
                              Store 8(resident) 166
             167:          27 Load 29(s2D)
             168:   31(fvec2) Load 33(c2)
             169:  143(ivec2) ConvertFToS 168
             170:          26 Image 167
             171: 35(ResType) ImageSparseFetch 170 169 Lod 130
             172:   11(fvec4) CompositeExtract 171 1
                              Store 13(texel) 172
             173:      6(int) CompositeExtract 171 0
             174:      6(int) Load 8(resident)
             175:      6(int) BitwiseOr 174 173
                              Store 8(resident) 175
             176:         138 Load 140(us2DRect)
             177:   31(fvec2) Load 33(c2)
             178:  143(ivec2) ConvertFToS 177
             179:         137 Image 176
             180:111(ResType) ImageSparseFetch 179 178
             181:   21(ivec4) CompositeExtract 180 1
                              Store 23(utexel) 181
             182:      6(int) CompositeExtract 180 0
             183:      6(int) Load 8(resident)
             184:      6(int) BitwiseOr 183 182
                              Store 8(resident) 184
             189:         186 Load 188(s2DMS)
             190:   31(fvec2) Load 33(c2)
             191:  143(ivec2) ConvertFToS 190
             193:         185 Image 189
             194: 35(ResType) ImageSparseFetch 193 191 Sample 192
             195:   11(fvec4) CompositeExtract 194 1
                              Store 13(texel) 195
             196:      6(int) CompositeExtract 194 0
             197:      6(int) Load 8(resident)
             198:      6(int) BitwiseOr 197 196
                              Store 8(resident) 198
             199:          42 Load 44(s3D)
             200:   46(fvec3) Load 48(c3)
             201:  129(ivec3) ConvertFToS 200
             203:          41 Image 199
             204: 35(ResType) ImageSparseFetch 203 201 Lod ConstOffset 130 202
             205:   11(fvec4) CompositeExtract 204 1
                              Store 13(texel) 205
             206:      6(int) CompositeExtract 204 0
             207:      6(int) Load 8(resident)
             208:      6(int) BitwiseOr 207 206
                              Store 8(resident) 208
             209:         138 Load 140(us2DRect)
             210:   31(fvec2) Load 33(c2)
             211:  143(ivec2) ConvertFToS 210
             212:         137 Image 209
             213:111(ResType) ImageSparseFetch 212 211 ConstOffset 145
             214:   21(ivec4) CompositeExtract 213 1
                              Store 23(utexel) 214
             215:      6(int) CompositeExtract 213 0
             216:      6(int) Load 8(resident)
             217:      6(int) BitwiseOr 216 215
                              Store 8(resident) 217
             218:          27 Load 29(s2D)
             219:   31(fvec2) Load 33(c2)
             220: 35(ResType) ImageSparseSampleExplicitLod 218 219 Lod ConstOffset 50 158
             221:   11(fvec4) CompositeExtract 220 1
                              Store 13(texel) 221
             222:      6(int) CompositeExtract 220 0
             223:      6(int) Load 8(resident)
             224:      6(int) BitwiseOr 223 222
                              Store 8(resident) 224
             229:         226 Load 228(is2DArray)
             230:   46(fvec3) Load 48(c3)
             233: 62(ResType) ImageSparseSampleExplicitLod 229 230 Lod ConstOffset 50 232
             234:   16(ivec4) CompositeExtract 233 1
                              Store 18(itexel) 234
             235:      6(int) CompositeExtract 233 0
             236:      6(int) Load 8(resident)
             237:      6(int) BitwiseOr 236 235
                              Store 8(resident) 237
             238:          69 Load 71(s2DShadow)
             239:   46(fvec3) Load 48(c3)
             242:     74(ptr) AccessChain 13(texel) 159
             243:   10(float) CompositeExtract 239 2
             244: 77(ResType) ImageSparseSampleDrefExplicitLod 238 239 243 Lod ConstOffset 50 241
             245:   10(float) CompositeExtract 244 1
                              Store 242 245
             246:      6(int) CompositeExtract 244 0
             247:      6(int) Load 8(resident)
             248:      6(int) BitwiseOr 247 246
                              Store 8(resident) 248
             249:          42 Load 44(s3D)
             250:   46(fvec3) Load 48(c3)
             251:   46(fvec3) Load 48(c3)
             252:   46(fvec3) Load 48(c3)
             253: 35(ResType) ImageSparseSampleExplicitLod 249 250 Grad 251 252
             254:   11(fvec4) CompositeExtract 253 1
                              Store 13(texel) 254
             255:      6(int) CompositeExtract 253 0
             256:      6(int) Load 8(resident)
             257:      6(int) BitwiseOr 256 255
                              Store 8(resident) 257
             262:         259 Load 261(sCubeShadow)
             263:   11(fvec4) Load 89(c4)
             264:   46(fvec3) Load 48(c3)
             265:   46(fvec3) Load 48(c3)
             266:     74(ptr) AccessChain 13(texel) 119
             267:   10(float) CompositeExtract 263 3
             268: 77(ResType) ImageSparseSampleDrefExplicitLod 262 263 267 Grad 264 265
             269:   10(float) CompositeExtract 268 1
                              Store 266 269
             270:      6(int) CompositeExtract 268 0
             271:      6(int) Load 8(resident)
             272:      6(int) BitwiseOr 271 270
                              Store 8(resident) 272
             273:         106 Load 108(usCubeArray)
             274:   11(fvec4) Load 89(c4)
             275:   46(fvec3) Load 48(c3)
             276:   46(fvec3) Load 48(c3)
             277:111(ResType) ImageSparseSampleExplicitLod 273 274 Grad 275 276
             278:   21(ivec4) CompositeExtract 277 1
                              Store 23(utexel) 278
             279:      6(int) CompositeExtract 277 0
             280:      6(int) Load 8(resident)
             281:      6(int) BitwiseOr 280 279
                              Store 8(resident) 281
             282:          27 Load 29(s2D)
             283:   31(fvec2) Load 33(c2)
             284:   31(fvec2) Load 33(c2)
             285:   31(fvec2) Load 33(c2)
             286: 35(ResType) ImageSparseSampleExplicitLod 282 283 Grad ConstOffset 284 285 158
             287:   11(fvec4) CompositeExtract 286 1
                              Store 13(texel) 287
             288:      6(int) CompositeExtract 286 0
             289:      6(int) Load 8(resident)
             290:      6(int) BitwiseOr 289 288
                              Store 8(resident) 290
             295:         292 Load 294(s2DRectShadow)
             296:   46(fvec3) Load 48(c3)
             297:   31(fvec2) Load 33(c2)
             298:   31(fvec2) Load 33(c2)
             300:     74(ptr) AccessChain 13(texel) 299
             301:   10(float) CompositeExtract 296 2
             302: 77(ResType) ImageSparseSampleDrefExplicitLod 295 296 301 Grad ConstOffset 297 298 232
             303:   10(float) CompositeExtract 302 1
                              Store 300 303
             304:      6(int) CompositeExtract 302 0
             305:      6(int) Load 8(resident)
             306:      6(int) BitwiseOr 305 304
                              Store 8(resident) 306
             307:         226 Load 228(is2DArray)
             308:   46(fvec3) Load 48(c3)
             309:   31(fvec2) Load 33(c2)
             310:   31(fvec2) Load 33(c2)
             312: 62(ResType) ImageSparseSampleExplicitLod 307 308 Grad ConstOffset 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: 35(ResType) ImageSparseGather 317 318 9
             320:   11(fvec4) CompositeExtract 319 1
                              Store 13(texel) 320
             321:      6(int) CompositeExtract 319 0
             322:      6(int) Load 8(resident)
             323:      6(int) BitwiseOr 322 321
                              Store 8(resident) 323
             324:         226 Load 228(is2DArray)
             325:   46(fvec3) Load 48(c3)
             326: 62(ResType) ImageSparseGather 324 325 130
             327:   16(ivec4) CompositeExtract 326 1
                              Store 18(itexel) 327
             328:      6(int) CompositeExtract 326 0
             329:      6(int) Load 8(resident)
             330:      6(int) BitwiseOr 329 328
                              Store 8(resident) 330
             331:         152 Load 154(s2DArrayShadow)
             332:   46(fvec3) Load 48(c3)
             333: 35(ResType) ImageSparseDrefGather 331 332 50
             334:   11(fvec4) CompositeExtract 333 1
                              Store 13(texel) 334
             335:      6(int) CompositeExtract 333 0
             336:      6(int) Load 8(resident)
             337:      6(int) BitwiseOr 336 335
                              Store 8(resident) 337
             338:          27 Load 29(s2D)
             339:   31(fvec2) Load 33(c2)
             341: 35(ResType) ImageSparseGather 338 339 9 ConstOffset 340
             342:   11(fvec4) CompositeExtract 341 1
                              Store 13(texel) 342
             343:      6(int) CompositeExtract 341 0
             344:      6(int) Load 8(resident)
             345:      6(int) BitwiseOr 344 343
                              Store 8(resident) 345
             346:         226 Load 228(is2DArray)
             347:   46(fvec3) Load 48(c3)
             348: 62(ResType) ImageSparseGather 346 347 130 ConstOffset 158
             349:   16(ivec4) CompositeExtract 348 1
                              Store 18(itexel) 349
             350:      6(int) CompositeExtract 348 0
             351:      6(int) Load 8(resident)
             352:      6(int) BitwiseOr 351 350
                              Store 8(resident) 352
             353:         292 Load 294(s2DRectShadow)
             354:   31(fvec2) Load 33(c2)
             355: 35(ResType) ImageSparseDrefGather 353 354 50 ConstOffset 241
             356:   11(fvec4) CompositeExtract 355 1
                              Store 13(texel) 356
             357:      6(int) CompositeExtract 355 0
             358:      6(int) Load 8(resident)
             359:      6(int) BitwiseOr 358 357
                              Store 8(resident) 359
             360:          27 Load 29(s2D)
             361:   31(fvec2) Load 33(c2)
             366:         363 Load 365(offsets)
             367: 35(ResType) ImageSparseGather 360 361 9 ConstOffsets 366
             368:   11(fvec4) CompositeExtract 367 1
                              Store 13(texel) 368
             369:      6(int) CompositeExtract 367 0
             370:      6(int) Load 8(resident)
             371:      6(int) BitwiseOr 370 369
                              Store 8(resident) 371
             372:         226 Load 228(is2DArray)
             373:   46(fvec3) Load 48(c3)
             374:         363 Load 365(offsets)
             375: 62(ResType) ImageSparseGather 372 373 130 ConstOffsets 374
             376:   16(ivec4) CompositeExtract 375 1
                              Store 18(itexel) 376
             377:      6(int) CompositeExtract 375 0
             378:      6(int) Load 8(resident)
             379:      6(int) BitwiseOr 378 377
                              Store 8(resident) 379
             380:         292 Load 294(s2DRectShadow)
             381:   31(fvec2) Load 33(c2)
             382:         363 Load 365(offsets)
             383: 35(ResType) ImageSparseDrefGather 380 381 50 ConstOffsets 382
             384:   11(fvec4) CompositeExtract 383 1
                              Store 13(texel) 384
             385:      6(int) CompositeExtract 383 0
             386:      6(int) Load 8(resident)
             387:      6(int) BitwiseOr 386 385
                              Store 8(resident) 387
             391:         388 Load 390(i2D)
             394:  143(ivec2) Load 393(ic2)
             395: 35(ResType) ImageSparseRead 391 394
             396:   11(fvec4) CompositeExtract 395 1
                              Store 13(texel) 396
             397:      6(int) CompositeExtract 395 0
             398:      6(int) Load 8(resident)
             399:      6(int) BitwiseOr 398 397
                              Store 8(resident) 399
             403:         400 Load 402(ii3D)
             406:  129(ivec3) Load 405(ic3)
             407: 62(ResType) ImageSparseRead 403 406
             408:   16(ivec4) CompositeExtract 407 1
                              Store 18(itexel) 408
             409:      6(int) CompositeExtract 407 0
             410:      6(int) Load 8(resident)
             411:      6(int) BitwiseOr 410 409
                              Store 8(resident) 411
             415:         412 Load 414(i2DMS)
             416:  143(ivec2) Load 393(ic2)
             417: 35(ResType) ImageSparseRead 415 416 Sample 144
             418:   11(fvec4) CompositeExtract 417 1
                              Store 13(texel) 418
             419:      6(int) CompositeExtract 417 0
             420:      6(int) Load 8(resident)
             421:      6(int) BitwiseOr 420 419
                              Store 8(resident) 421
             424:      6(int) Load 8(resident)
             426:   425(bool) ImageSparseTexelsResident 424
                              SelectionMerge 429 None
                              BranchConditional 426 428 431
             428:               Label
             430:   11(fvec4)   Load 13(texel)
                                Store 427 430
                                Branch 429
             431:               Label
             432:   16(ivec4)   Load 18(itexel)
             433:   11(fvec4)   ConvertSToF 432
             434:   21(ivec4)   Load 23(utexel)
             435:   11(fvec4)   ConvertUToF 434
             436:   11(fvec4)   FAdd 433 435
                                Store 427 436
                                Branch 429
             429:             Label
             437:   11(fvec4) Load 427
                              Store 423(outColor) 437
                              Return
                              FunctionEnd
