spv.sparseTexture.frag
Warning, version 450 is not yet complete; most version-specific features are present, but some are missing.

// Module Version 10000
// Generated by (magic number): 80001
// Id's are bound by 438

                              Capability Shader
                              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 44(s3D) DescriptorSet 0
                              Decorate 59(isCube) DescriptorSet 0
                              Decorate 71(s2DShadow) DescriptorSet 0
                              Decorate 86(sCubeArrayShadow) DescriptorSet 0
                              Decorate 108(usCubeArray) DescriptorSet 0
                              Decorate 140(us2DRect) DescriptorSet 0
                              Decorate 154(s2DArrayShadow) DescriptorSet 0
                              Decorate 188(s2DMS) DescriptorSet 0
                              Decorate 228(is2DArray) DescriptorSet 0
                              Decorate 261(sCubeShadow) DescriptorSet 0
                              Decorate 294(s2DRectShadow) DescriptorSet 0
                              Decorate 365(offsets) Flat
                              Decorate 390(i2D) DescriptorSet 0
                              Decorate 393(ic2) Flat
                              Decorate 402(ii3D) DescriptorSet 0
                              Decorate 405(ic3) Flat
                              Decorate 414(i2DMS) DescriptorSet 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
             426:             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
             424:     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
             425:      6(int) Load 8(resident)
             427:   426(bool) ImageSparseTexelsResident 425
                              SelectionMerge 429 None
                              BranchConditional 427 428 431
             428:               Label
             430:   11(fvec4)   Load 13(texel)
                                Store 424 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 424 436
                                Branch 429
             429:             Label
             437:   11(fvec4) Load 424
                              Store 423(outColor) 437
                              Return
                              FunctionEnd
