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

// Module Version 10000
// Generated by (magic number): 80001
// 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 37(samp2DA) DescriptorSet 0
                              Decorate 47(samp2DR) DescriptorSet 0
                              Decorate 55(samp2DS) DescriptorSet 0
                              Decorate 72(Sca) DescriptorSet 0
                              Decorate 87(Isca) DescriptorSet 0
                              Decorate 103(Usca) DescriptorSet 0
                              Decorate 118(Scas) DescriptorSet 0
                              Decorate 167(sampC) DescriptorSet 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 195(s2DR) DescriptorSet 0
                              Decorate 199(s2DRS) DescriptorSet 0
                              Decorate 203(s1D) DescriptorSet 0
                              Decorate 204(s2DS) DescriptorSet 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
