spv.ext.textureShadowLod.frag
// Module Version 10000
// Generated by (magic number): 8000b
// Id's are bound by 55

                              Capability Shader
                              Capability SampledCubeArray
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 8 16
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_texture_shadow_lod"
                              Name 4  "main"
                              Name 8  "c"
                              Name 12  "s2da"
                              Name 16  "tc"
                              Name 24  "sca"
                              Name 43  "sc"
                              Decorate 8(c) Location 0
                              Decorate 12(s2da) DescriptorSet 0
                              Decorate 12(s2da) Binding 0
                              Decorate 16(tc) Location 0
                              Decorate 24(sca) DescriptorSet 0
                              Decorate 24(sca) Binding 1
                              Decorate 43(sc) DescriptorSet 0
                              Decorate 43(sc) Binding 2
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeFloat 32
               7:             TypePointer Output 6(float)
            8(c):      7(ptr) Variable Output
               9:             TypeImage 6(float) 2D depth array sampled format:Unknown
              10:             TypeSampledImage 9
              11:             TypePointer UniformConstant 10
        12(s2da):     11(ptr) Variable UniformConstant
              14:             TypeVector 6(float) 4
              15:             TypePointer Input 14(fvec4)
          16(tc):     15(ptr) Variable Input
              18:    6(float) Constant 0
              21:             TypeImage 6(float) Cube depth array sampled format:Unknown
              22:             TypeSampledImage 21
              23:             TypePointer UniformConstant 22
         24(sca):     23(ptr) Variable UniformConstant
              30:             TypeInt 32 1
              31:             TypeVector 30(int) 2
              32:     30(int) Constant 0
              33:   31(ivec2) ConstantComposite 32 32
              40:             TypeImage 6(float) Cube depth sampled format:Unknown
              41:             TypeSampledImage 40
              42:             TypePointer UniformConstant 41
          43(sc):     42(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
              13:          10 Load 12(s2da)
              17:   14(fvec4) Load 16(tc)
              19:    6(float) CompositeExtract 17 3
              20:    6(float) ImageSampleDrefImplicitLod 13 17 19 Bias 18
                              Store 8(c) 20
              25:          22 Load 24(sca)
              26:   14(fvec4) Load 16(tc)
              27:    6(float) ImageSampleDrefImplicitLod 25 26 18
                              Store 8(c) 27
              28:          10 Load 12(s2da)
              29:   14(fvec4) Load 16(tc)
              34:    6(float) CompositeExtract 29 3
              35:    6(float) ImageSampleDrefImplicitLod 28 29 34 Bias ConstOffset 18 33
                              Store 8(c) 35
              36:          10 Load 12(s2da)
              37:   14(fvec4) Load 16(tc)
              38:    6(float) CompositeExtract 37 3
              39:    6(float) ImageSampleDrefExplicitLod 36 37 38 Lod 18
                              Store 8(c) 39
              44:          41 Load 43(sc)
              45:   14(fvec4) Load 16(tc)
              46:    6(float) CompositeExtract 45 3
              47:    6(float) ImageSampleDrefExplicitLod 44 45 46 Lod 18
                              Store 8(c) 47
              48:          22 Load 24(sca)
              49:   14(fvec4) Load 16(tc)
              50:    6(float) ImageSampleDrefExplicitLod 48 49 18 Lod 18
                              Store 8(c) 50
              51:          10 Load 12(s2da)
              52:   14(fvec4) Load 16(tc)
              53:    6(float) CompositeExtract 52 3
              54:    6(float) ImageSampleDrefExplicitLod 51 52 53 Lod ConstOffset 18 33
                              Store 8(c) 54
                              Return
                              FunctionEnd
