spv.130.frag
WARNING: 0:31: '#extension' : extension is only partially supported: GL_ARB_gpu_shader5

Validation failed
// Module Version 10000
// Generated by (magic number): 80008
// Id's are bound by 205

                              Capability Shader
                              Capability ClipDistance
                              Capability SampledRect
                              Capability Sampled1D
                              Capability SampledCubeArray
                              Capability ImageQuery
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 17 68 79 99 173 184 185 186
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 140
                              SourceExtension  "GL_ARB_gpu_shader5"
                              SourceExtension  "GL_ARB_shader_texture_lod"
                              SourceExtension  "GL_ARB_shading_language_420pack"
                              SourceExtension  "GL_ARB_texture_cube_map_array"
                              SourceExtension  "GL_ARB_texture_gather"
                              SourceExtension  "GL_ARB_texture_rectangle"
                              Name 4  "main"
                              Name 6  "bar3("
                              Name 8  "bar4("
                              Name 10  "bar5("
                              Name 12  "bar6("
                              Name 17  "o"
                              Name 21  "samp2D"
                              Name 37  "samp2DA"
                              Name 47  "samp2DR"
                              Name 55  "samp2DS"
                              Name 68  "io"
                              Name 72  "Sca"
                              Name 79  "i"
                              Name 87  "Isca"
                              Name 99  "uo"
                              Name 103  "Usca"
                              Name 114  "a"
                              Name 118  "Scas"
                              Name 124  "f"
                              Name 133  "c"
                              Name 154  "a1"
                              Name 157  "m43"
                              Name 160  "b"
                              Name 167  "sampC"
                              Name 173  "gl_ClipDistance"
                              Name 183  "b"
                              Name 184  "fflat"
                              Name 185  "fsmooth"
                              Name 186  "fnop"
                              Name 193  "bounds"
                              Name 194  "s2D"
                              Name 195  "s2DR"
                              Name 199  "s2DRS"
                              Name 203  "s1D"
                              Name 204  "s2DS"
                              Decorate 21(samp2D) DescriptorSet 0
                              Decorate 21(samp2D) Binding 0
                              Decorate 37(samp2DA) DescriptorSet 0
                              Decorate 37(samp2DA) Binding 0
                              Decorate 47(samp2DR) DescriptorSet 0
                              Decorate 47(samp2DR) Binding 0
                              Decorate 55(samp2DS) DescriptorSet 0
                              Decorate 55(samp2DS) Binding 0
                              Decorate 72(Sca) DescriptorSet 0
                              Decorate 72(Sca) Binding 0
                              Decorate 87(Isca) DescriptorSet 0
                              Decorate 87(Isca) Binding 0
                              Decorate 103(Usca) DescriptorSet 0
                              Decorate 103(Usca) Binding 0
                              Decorate 118(Scas) DescriptorSet 0
                              Decorate 118(Scas) Binding 0
                              Decorate 167(sampC) DescriptorSet 0
                              Decorate 167(sampC) Binding 0
                              Decorate 173(gl_ClipDistance) BuiltIn ClipDistance
                              Decorate 184(fflat) Flat
                              Decorate 186(fnop) NoPerspective
                              Decorate 193(bounds) DescriptorSet 0
                              Decorate 193(bounds) Binding 0
                              Decorate 194(s2D) DescriptorSet 0
                              Decorate 194(s2D) Binding 0
                              Decorate 195(s2DR) DescriptorSet 0
                              Decorate 195(s2DR) Binding 0
                              Decorate 199(s2DRS) DescriptorSet 0
                              Decorate 199(s2DRS) Binding 0
                              Decorate 203(s1D) DescriptorSet 0
                              Decorate 203(s1D) Binding 0
                              Decorate 204(s2DS) DescriptorSet 0
                              Decorate 204(s2DS) Binding 0
               2:             TypeVoid
               3:             TypeFunction 2
              14:             TypeFloat 32
              15:             TypeVector 14(float) 4
              16:             TypePointer Output 15(fvec4)
           17(o):     16(ptr) Variable Output
              18:             TypeImage 14(float) 2D sampled format:Unknown
              19:             TypeSampledImage 18
              20:             TypePointer UniformConstant 19
      21(samp2D):     20(ptr) Variable UniformConstant
              23:             TypeVector 14(float) 2
              24:   14(float) Constant 1050253722
              25:   23(fvec2) ConstantComposite 24 24
              26:             TypeInt 32 1
              27:             TypeVector 26(int) 2
              28:     26(int) Constant 1
              29:   27(ivec2) ConstantComposite 28 28
              30:     26(int) Constant 0
              34:             TypeImage 14(float) 2D array sampled format:Unknown
              35:             TypeSampledImage 34
              36:             TypePointer UniformConstant 35
     37(samp2DA):     36(ptr) Variable UniformConstant
              39:             TypeVector 14(float) 3
              40:   39(fvec3) ConstantComposite 24 24 24
              44:             TypeImage 14(float) Rect sampled format:Unknown
              45:             TypeSampledImage 44
              46:             TypePointer UniformConstant 45
     47(samp2DR):     46(ptr) Variable UniformConstant
              52:             TypeImage 14(float) 2D depth sampled format:Unknown
              53:             TypeSampledImage 52
              54:             TypePointer UniformConstant 53
     55(samp2DS):     54(ptr) Variable UniformConstant
              57:   14(float) Constant 1067869798
              62:     26(int) Constant 2
              66:             TypeVector 26(int) 3
              67:             TypePointer Output 66(ivec3)
          68(io):     67(ptr) Variable Output
              69:             TypeImage 14(float) Cube array sampled format:Unknown
              70:             TypeSampledImage 69
              71:             TypePointer UniformConstant 70
         72(Sca):     71(ptr) Variable UniformConstant
              74:     26(int) Constant 3
              78:             TypePointer Input 15(fvec4)
           79(i):     78(ptr) Variable Input
              84:             TypeImage 26(int) Cube array sampled format:Unknown
              85:             TypeSampledImage 84
              86:             TypePointer UniformConstant 85
        87(Isca):     86(ptr) Variable UniformConstant
              90:   14(float) Constant 1060320051
              91:             TypeVector 26(int) 4
              96:             TypeInt 32 0
              97:             TypeVector 96(int) 4
              98:             TypePointer Output 97(ivec4)
          99(uo):     98(ptr) Variable Output
             100:             TypeImage 96(int) Cube array sampled format:Unknown
             101:             TypeSampledImage 100
             102:             TypePointer UniformConstant 101
       103(Usca):    102(ptr) Variable UniformConstant
             109:   14(float) Constant 1071225242
             113:             TypePointer Private 39(fvec3)
          114(a):    113(ptr) Variable Private
             115:             TypeImage 14(float) Cube depth array sampled format:Unknown
             116:             TypeSampledImage 115
             117:             TypePointer UniformConstant 116
       118(Scas):    117(ptr) Variable UniformConstant
             123:             TypePointer Function 14(float)
             127:     96(int) Constant 1
             128:             TypePointer Input 14(float)
             132:             TypePointer Function 91(ivec4)
             136:   14(float) Constant 1036831949
             137:   39(fvec3) ConstantComposite 136 136 136
             138:   14(float) Constant 1045220557
             139:   39(fvec3) ConstantComposite 138 138 138
             155:             TypeMatrix 39(fvec3) 4
             156:             TypePointer Function 155
             161:   14(float) Constant 1073741824
             164:             TypeImage 14(float) Cube sampled format:Unknown
             165:             TypeSampledImage 164
             166:             TypePointer UniformConstant 165
      167(sampC):    166(ptr) Variable UniformConstant
             170:     96(int) Constant 4
             171:             TypeArray 14(float) 170
             172:             TypePointer Input 171
173(gl_ClipDistance):    172(ptr) Variable Input
             176:             TypePointer Output 14(float)
             182:             TypePointer Private 14(float)
          183(b):    182(ptr) Variable Private
      184(fflat):    128(ptr) Variable Input
    185(fsmooth):    128(ptr) Variable Input
       186(fnop):    128(ptr) Variable Input
             187:     96(int) Constant 3
             188:             TypeArray 26(int) 187
             189:     26(int) Constant 10
             190:     26(int) Constant 23
             191:     26(int) Constant 32
             192:         188 ConstantComposite 189 190 191
     193(bounds):     20(ptr) Variable UniformConstant
        194(s2D):     20(ptr) Variable UniformConstant
       195(s2DR):     46(ptr) Variable UniformConstant
             196:             TypeImage 14(float) Rect depth sampled format:Unknown
             197:             TypeSampledImage 196
             198:             TypePointer UniformConstant 197
      199(s2DRS):    198(ptr) Variable UniformConstant
             200:             TypeImage 14(float) 1D sampled format:Unknown
             201:             TypeSampledImage 200
             202:             TypePointer UniformConstant 201
        203(s1D):    202(ptr) Variable UniformConstant
       204(s2DS):     54(ptr) Variable UniformConstant
         4(main):           2 Function None 3
               5:             Label
             168:         165 Load 167(sampC)
             169:   15(fvec4) ImageGather 168 139 30
                              Store 17(o) 169
             174:    128(ptr) AccessChain 173(gl_ClipDistance) 74
             175:   14(float) Load 174
             177:    176(ptr) AccessChain 17(o) 127
                              Store 177 175
             178:           2 FunctionCall 6(bar3()
             179:           2 FunctionCall 8(bar4()
             180:           2 FunctionCall 10(bar5()
             181:           2 FunctionCall 12(bar6()
                              Return
                              FunctionEnd
        6(bar3():           2 Function None 3
               7:             Label
              22:          19 Load 21(samp2D)
              31:   15(fvec4) ImageGather 22 25 30 ConstOffset 29
              32:   15(fvec4) Load 17(o)
              33:   15(fvec4) FAdd 32 31
                              Store 17(o) 33
              38:          35 Load 37(samp2DA)
              41:   15(fvec4) ImageGather 38 40 30 ConstOffset 29
              42:   15(fvec4) Load 17(o)
              43:   15(fvec4) FAdd 42 41
                              Store 17(o) 43
                              Return
                              FunctionEnd
        8(bar4():           2 Function None 3
               9:             Label
              48:          45 Load 47(samp2DR)
              49:   15(fvec4) ImageGather 48 25 30 ConstOffset 29
              50:   15(fvec4) Load 17(o)
              51:   15(fvec4) FAdd 50 49
                              Store 17(o) 51
              56:          53 Load 55(samp2DS)
              58:   15(fvec4) ImageDrefGather 56 25 57 ConstOffset 29
              59:   15(fvec4) Load 17(o)
              60:   15(fvec4) FAdd 59 58
                              Store 17(o) 60
              61:          19 Load 21(samp2D)
              63:   15(fvec4) ImageGather 61 25 62 ConstOffset 29
              64:   15(fvec4) Load 17(o)
              65:   15(fvec4) FAdd 64 63
                              Store 17(o) 65
                              Return
                              FunctionEnd
       10(bar5():           2 Function None 3
              11:             Label
          124(f):    123(ptr) Variable Function
          133(c):    132(ptr) Variable Function
              73:          70 Load 72(Sca)
              75:          69 Image 73
              76:   66(ivec3) ImageQuerySizeLod 75 74
                              Store 68(io) 76
              77:          70 Load 72(Sca)
              80:   15(fvec4) Load 79(i)
              81:   15(fvec4) ImageSampleImplicitLod 77 80
              82:   15(fvec4) Load 17(o)
              83:   15(fvec4) FAdd 82 81
                              Store 17(o) 83
              88:          85 Load 87(Isca)
              89:   15(fvec4) Load 79(i)
              92:   91(ivec4) ImageSampleImplicitLod 88 89 Bias 90
              93:   66(ivec3) VectorShuffle 92 92 0 1 2
              94:   66(ivec3) Load 68(io)
              95:   66(ivec3) IAdd 94 93
                              Store 68(io) 95
             104:         101 Load 103(Usca)
             105:   15(fvec4) Load 79(i)
             106:   97(ivec4) ImageSampleImplicitLod 104 105
                              Store 99(uo) 106
             107:          70 Load 72(Sca)
             108:   15(fvec4) Load 79(i)
             110:   15(fvec4) ImageSampleExplicitLod 107 108 Lod 109
             111:   15(fvec4) Load 17(o)
             112:   15(fvec4) FAdd 111 110
                              Store 17(o) 112
             119:         116 Load 118(Scas)
             120:         115 Image 119
             121:   66(ivec3) ImageQuerySizeLod 120 74
             122:   39(fvec3) ConvertSToF 121
                              Store 114(a) 122
             125:         116 Load 118(Scas)
             126:   15(fvec4) Load 79(i)
             129:    128(ptr) AccessChain 79(i) 127
             130:   14(float) Load 129
             131:   14(float) ImageSampleDrefImplicitLod 125 126 130
                              Store 124(f) 131
             134:          85 Load 87(Isca)
             135:   15(fvec4) Load 79(i)
             140:   91(ivec4) ImageSampleExplicitLod 134 135 Grad 137 139
                              Store 133(c) 140
             141:   39(fvec3) Load 114(a)
             142:   14(float) Load 124(f)
             143:   91(ivec4) Load 133(c)
             144:   15(fvec4) ConvertSToF 143
             145:   15(fvec4) CompositeConstruct 142 142 142 142
             146:   15(fvec4) FAdd 145 144
             147:   14(float) CompositeExtract 141 0
             148:   14(float) CompositeExtract 141 1
             149:   14(float) CompositeExtract 141 2
             150:   14(float) CompositeExtract 146 0
             151:   15(fvec4) CompositeConstruct 147 148 149 150
             152:   15(fvec4) Load 17(o)
             153:   15(fvec4) FAdd 152 151
                              Store 17(o) 153
                              Return
                              FunctionEnd
       12(bar6():           2 Function None 3
              13:             Label
         154(a1):    123(ptr) Variable Function
        157(m43):    156(ptr) Variable Function
          160(b):    123(ptr) Variable Function
             158:    123(ptr) AccessChain 157(m43) 74 127
             159:   14(float) Load 158
                              Store 154(a1) 159
             162:   14(float) Load 154(a1)
             163:   14(float) FMul 161 162
                              Store 160(b) 163
                              Return
                              FunctionEnd
