spv.nonuniform.frag
// Module Version 10000
// Generated by (magic number): 80007
// Id's are bound by 212

                              Capability Shader
                              Capability InputAttachment
                              Capability SampledBuffer
                              Capability ImageBuffer
                              Capability ShaderNonUniformEXT
                              Capability RuntimeDescriptorArrayEXT
                              Capability InputAttachmentArrayDynamicIndexingEXT
                              Capability UniformTexelBufferArrayDynamicIndexingEXT
                              Capability StorageTexelBufferArrayDynamicIndexingEXT
                              Capability UniformBufferArrayNonUniformIndexingEXT
                              Capability SampledImageArrayNonUniformIndexingEXT
                              Capability StorageBufferArrayNonUniformIndexingEXT
                              Capability StorageImageArrayNonUniformIndexingEXT
                              Capability InputAttachmentArrayNonUniformIndexingEXT
                              Capability UniformTexelBufferArrayNonUniformIndexingEXT
                              Capability StorageTexelBufferArrayNonUniformIndexingEXT
                              Extension  "SPV_EXT_descriptor_indexing"
               1:             ExtInstImport  "GLSL.std.450"
                              MemoryModel Logical GLSL450
                              EntryPoint Fragment 4  "main" 35 92
                              ExecutionMode 4 OriginUpperLeft
                              Source GLSL 450
                              SourceExtension  "GL_EXT_nonuniform_qualifier"
                              Name 4  "main"
                              Name 11  "foo(i1;i1;"
                              Name 9  "nupi"
                              Name 10  "f"
                              Name 16  "a"
                              Name 17  "nu_li"
                              Name 18  "param"
                              Name 20  "param"
                              Name 32  "b"
                              Name 35  "nu_inv4"
                              Name 41  "nu_gf"
                              Name 47  "inputAttachmentDyn"
                              Name 48  "dyn_i"
                              Name 64  "uniformTexelBufferDyn"
                              Name 78  "storageTexelBufferDyn"
                              Name 87  "uname"
                              MemberName 87(uname) 0  "a"
                              Name 90  "uniformBuffer"
                              Name 92  "nu_ii"
                              Name 99  "bname"
                              MemberName 99(bname) 0  "b"
                              Name 102  "storageBuffer"
                              Name 112  "sampledImage"
                              Name 127  "storageImage"
                              Name 139  "inputAttachment"
                              Name 149  "uniformTexelBuffer"
                              Name 160  "storageTexelBuffer"
                              Name 170  "v"
                              Name 185  "uv"
                              Name 195  "m"
                              Name 203  "S"
                              MemberName 203(S) 0  "a"
                              Name 205  "s"
                              Decorate 13 DecorationNonUniformEXT
                              Decorate 17(nu_li) DecorationNonUniformEXT
                              Decorate 19 DecorationNonUniformEXT
                              Decorate 24 DecorationNonUniformEXT
                              Decorate 28 DecorationNonUniformEXT
                              Decorate 29 DecorationNonUniformEXT
                              Decorate 35(nu_inv4) Location 0
                              Decorate 35(nu_inv4) DecorationNonUniformEXT
                              Decorate 40 DecorationNonUniformEXT
                              Decorate 41(nu_gf) DecorationNonUniformEXT
                              Decorate 42 DecorationNonUniformEXT
                              Decorate 43 DecorationNonUniformEXT
                              Decorate 47(inputAttachmentDyn) DescriptorSet 0
                              Decorate 47(inputAttachmentDyn) Binding 0
                              Decorate 47(inputAttachmentDyn) InputAttachmentIndex 0
                              Decorate 64(uniformTexelBufferDyn) DescriptorSet 0
                              Decorate 64(uniformTexelBufferDyn) Binding 1
                              Decorate 78(storageTexelBufferDyn) DescriptorSet 0
                              Decorate 78(storageTexelBufferDyn) Binding 2
                              MemberDecorate 87(uname) 0 Offset 0
                              Decorate 87(uname) Block
                              Decorate 90(uniformBuffer) DescriptorSet 0
                              Decorate 90(uniformBuffer) Binding 3
                              Decorate 92(nu_ii) Flat
                              Decorate 92(nu_ii) Location 1
                              Decorate 92(nu_ii) DecorationNonUniformEXT
                              Decorate 93 DecorationNonUniformEXT
                              Decorate 96 DecorationNonUniformEXT
                              MemberDecorate 99(bname) 0 Offset 0
                              Decorate 99(bname) BufferBlock
                              Decorate 102(storageBuffer) DescriptorSet 0
                              Decorate 102(storageBuffer) Binding 4
                              Decorate 103 DecorationNonUniformEXT
                              Decorate 105 DecorationNonUniformEXT
                              Decorate 112(sampledImage) DescriptorSet 0
                              Decorate 112(sampledImage) Binding 5
                              Decorate 113 DecorationNonUniformEXT
                              Decorate 116 DecorationNonUniformEXT
                              Decorate 127(storageImage) DescriptorSet 0
                              Decorate 127(storageImage) Binding 6
                              Decorate 128 DecorationNonUniformEXT
                              Decorate 131 DecorationNonUniformEXT
                              Decorate 139(inputAttachment) DescriptorSet 0
                              Decorate 139(inputAttachment) Binding 7
                              Decorate 139(inputAttachment) InputAttachmentIndex 1
                              Decorate 140 DecorationNonUniformEXT
                              Decorate 142 DecorationNonUniformEXT
                              Decorate 149(uniformTexelBuffer) DescriptorSet 0
                              Decorate 149(uniformTexelBuffer) Binding 8
                              Decorate 150 DecorationNonUniformEXT
                              Decorate 152 DecorationNonUniformEXT
                              Decorate 160(storageTexelBuffer) DescriptorSet 0
                              Decorate 160(storageTexelBuffer) Binding 9
                              Decorate 161 DecorationNonUniformEXT
                              Decorate 163 DecorationNonUniformEXT
                              Decorate 170(v) DecorationNonUniformEXT
                              Decorate 173 DecorationNonUniformEXT
                              Decorate 175 DecorationNonUniformEXT
                              Decorate 180 DecorationNonUniformEXT
                              Decorate 182 DecorationNonUniformEXT
                              Decorate 186 DecorationNonUniformEXT
                              Decorate 188 DecorationNonUniformEXT
                              Decorate 190 DecorationNonUniformEXT
                              Decorate 195(m) DecorationNonUniformEXT
                              Decorate 197 DecorationNonUniformEXT
                              Decorate 205(s) DecorationNonUniformEXT
                              Decorate 207 DecorationNonUniformEXT
                              Decorate 209 DecorationNonUniformEXT
               2:             TypeVoid
               3:             TypeFunction 2
               6:             TypeInt 32 1
               7:             TypePointer Function 6(int)
               8:             TypeFunction 6(int) 7(ptr) 7(ptr)
              26:      6(int) Constant 2
              30:             TypeFloat 32
              31:             TypePointer Function 30(float)
              33:             TypeVector 30(float) 4
              34:             TypePointer Input 33(fvec4)
     35(nu_inv4):     34(ptr) Variable Input
              36:             TypeInt 32 0
              37:     36(int) Constant 0
              38:             TypePointer Input 30(float)
              44:             TypeImage 30(float) SubpassData nonsampled format:Unknown
              45:             TypeRuntimeArray 44
              46:             TypePointer UniformConstant 45
47(inputAttachmentDyn):     46(ptr) Variable UniformConstant
              50:             TypePointer UniformConstant 44
              53:      6(int) Constant 0
              54:             TypeVector 6(int) 2
              55:   54(ivec2) ConstantComposite 53 53
              60:             TypeImage 30(float) Buffer sampled format:Unknown
              61:             TypeSampledImage 60
              62:             TypeRuntimeArray 61
              63:             TypePointer UniformConstant 62
64(uniformTexelBufferDyn):     63(ptr) Variable UniformConstant
              66:             TypePointer UniformConstant 61
              69:      6(int) Constant 1
              75:             TypeImage 30(float) Buffer nonsampled format:R32f
              76:             TypeRuntimeArray 75
              77:             TypePointer UniformConstant 76
78(storageTexelBufferDyn):     77(ptr) Variable UniformConstant
              80:             TypePointer UniformConstant 75
       87(uname):             TypeStruct 30(float)
              88:             TypeRuntimeArray 87(uname)
              89:             TypePointer Uniform 88
90(uniformBuffer):     89(ptr) Variable Uniform
              91:             TypePointer Input 6(int)
       92(nu_ii):     91(ptr) Variable Input
              94:             TypePointer Uniform 30(float)
       99(bname):             TypeStruct 30(float)
             100:             TypeRuntimeArray 99(bname)
             101:             TypePointer Uniform 100
102(storageBuffer):    101(ptr) Variable Uniform
             108:             TypeImage 30(float) 2D sampled format:Unknown
             109:             TypeSampledImage 108
             110:             TypeRuntimeArray 109
             111:             TypePointer UniformConstant 110
112(sampledImage):    111(ptr) Variable UniformConstant
             114:             TypePointer UniformConstant 109
             117:             TypeVector 30(float) 2
             118:   30(float) Constant 1056964608
             119:  117(fvec2) ConstantComposite 118 118
             124:             TypeImage 30(float) 2D nonsampled format:R32f
             125:             TypeRuntimeArray 124
             126:             TypePointer UniformConstant 125
127(storageImage):    126(ptr) Variable UniformConstant
             129:             TypePointer UniformConstant 124
             132:   54(ivec2) ConstantComposite 69 69
             137:             TypeRuntimeArray 44
             138:             TypePointer UniformConstant 137
139(inputAttachment):    138(ptr) Variable UniformConstant
             147:             TypeRuntimeArray 61
             148:             TypePointer UniformConstant 147
149(uniformTexelBuffer):    148(ptr) Variable UniformConstant
             158:             TypeRuntimeArray 75
             159:             TypePointer UniformConstant 158
160(storageTexelBuffer):    159(ptr) Variable UniformConstant
             168:             TypeVector 6(int) 4
             169:             TypePointer Function 168(ivec4)
             171:     36(int) Constant 1
             178:     36(int) Constant 2
             193:             TypeMatrix 33(fvec4) 4
             194:             TypePointer Function 193
          203(S):             TypeStruct 6(int)
             204:             TypePointer Function 203(S)
         4(main):           2 Function None 3
               5:             Label
           16(a):      7(ptr) Variable Function
       17(nu_li):      7(ptr) Variable Function
       18(param):      7(ptr) Variable Function
       20(param):      7(ptr) Variable Function
           32(b):     31(ptr) Variable Function
       41(nu_gf):     31(ptr) Variable Function
       48(dyn_i):      7(ptr) Variable Function
          170(v):    169(ptr) Variable Function
         185(uv):    169(ptr) Variable Function
          195(m):    194(ptr) Variable Function
          205(s):    204(ptr) Variable Function
              19:      6(int) Load 17(nu_li)
                              Store 18(param) 19
              21:      6(int) FunctionCall 11(foo(i1;i1;) 18(param) 20(param)
              22:      6(int) Load 20(param)
                              Store 17(nu_li) 22
                              Store 16(a) 21
              23:      6(int) Load 16(a)
              24:      6(int) CopyObject 23
              25:      6(int) Load 16(a)
              27:      6(int) IMul 25 26
              28:      6(int) CopyObject 27
              29:      6(int) IAdd 24 28
                              Store 17(nu_li) 29
              39:     38(ptr) AccessChain 35(nu_inv4) 37
              40:   30(float) Load 39
              42:   30(float) Load 41(nu_gf)
              43:   30(float) FMul 40 42
                              Store 32(b) 43
              49:      6(int) Load 48(dyn_i)
              51:     50(ptr) AccessChain 47(inputAttachmentDyn) 49
              52:          44 Load 51
              56:   33(fvec4) ImageRead 52 55
              57:   30(float) CompositeExtract 56 0
              58:   30(float) Load 32(b)
              59:   30(float) FAdd 58 57
                              Store 32(b) 59
              65:      6(int) Load 48(dyn_i)
              67:     66(ptr) AccessChain 64(uniformTexelBufferDyn) 65
              68:          61 Load 67
              70:          60 Image 68
              71:   33(fvec4) ImageFetch 70 69
              72:   30(float) CompositeExtract 71 0
              73:   30(float) Load 32(b)
              74:   30(float) FAdd 73 72
                              Store 32(b) 74
              79:      6(int) Load 48(dyn_i)
              81:     80(ptr) AccessChain 78(storageTexelBufferDyn) 79
              82:          75 Load 81
              83:   33(fvec4) ImageRead 82 69
              84:   30(float) CompositeExtract 83 0
              85:   30(float) Load 32(b)
              86:   30(float) FAdd 85 84
                              Store 32(b) 86
              93:      6(int) Load 92(nu_ii)
              95:     94(ptr) AccessChain 90(uniformBuffer) 93 53
              96:   30(float) Load 95
              97:   30(float) Load 32(b)
              98:   30(float) FAdd 97 96
                              Store 32(b) 98
             103:      6(int) Load 92(nu_ii)
             104:     94(ptr) AccessChain 102(storageBuffer) 103 53
             105:   30(float) Load 104
             106:   30(float) Load 32(b)
             107:   30(float) FAdd 106 105
                              Store 32(b) 107
             113:      6(int) Load 92(nu_ii)
             115:    114(ptr) AccessChain 112(sampledImage) 113
             116:         109 Load 115
             120:   33(fvec4) ImageSampleImplicitLod 116 119
             121:   30(float) CompositeExtract 120 0
             122:   30(float) Load 32(b)
             123:   30(float) FAdd 122 121
                              Store 32(b) 123
             128:      6(int) Load 92(nu_ii)
             130:    129(ptr) AccessChain 127(storageImage) 128
             131:         124 Load 130
             133:   33(fvec4) ImageRead 131 132
             134:   30(float) CompositeExtract 133 0
             135:   30(float) Load 32(b)
             136:   30(float) FAdd 135 134
                              Store 32(b) 136
             140:      6(int) Load 92(nu_ii)
             141:     50(ptr) AccessChain 139(inputAttachment) 140
             142:          44 Load 141
             143:   33(fvec4) ImageRead 142 55
             144:   30(float) CompositeExtract 143 0
             145:   30(float) Load 32(b)
             146:   30(float) FAdd 145 144
                              Store 32(b) 146
             150:      6(int) Load 92(nu_ii)
             151:     66(ptr) AccessChain 149(uniformTexelBuffer) 150
             152:          61 Load 151
             153:          60 Image 152
             154:   33(fvec4) ImageFetch 153 69
             155:   30(float) CompositeExtract 154 0
             156:   30(float) Load 32(b)
             157:   30(float) FAdd 156 155
                              Store 32(b) 157
             161:      6(int) Load 92(nu_ii)
             162:     80(ptr) AccessChain 160(storageTexelBuffer) 161
             163:          75 Load 162
             164:   33(fvec4) ImageRead 163 69
             165:   30(float) CompositeExtract 164 0
             166:   30(float) Load 32(b)
             167:   30(float) FAdd 166 165
                              Store 32(b) 167
             172:      7(ptr) AccessChain 170(v) 171
             173:      6(int) Load 172
             174:     94(ptr) AccessChain 90(uniformBuffer) 173 53
             175:   30(float) Load 174
             176:   30(float) Load 32(b)
             177:   30(float) FAdd 176 175
                              Store 32(b) 177
             179:      7(ptr) AccessChain 170(v) 178
             180:      6(int) Load 179
             181:     94(ptr) AccessChain 90(uniformBuffer) 180 53
             182:   30(float) Load 181
             183:   30(float) Load 32(b)
             184:   30(float) FAdd 183 182
                              Store 32(b) 184
             186:      6(int) Load 92(nu_ii)
             187:      7(ptr) AccessChain 185(uv) 186
             188:      6(int) Load 187
             189:     94(ptr) AccessChain 90(uniformBuffer) 188 53
             190:   30(float) Load 189
             191:   30(float) Load 32(b)
             192:   30(float) FAdd 191 190
                              Store 32(b) 192
             196:     31(ptr) AccessChain 195(m) 26 178
             197:   30(float) Load 196
             198:      6(int) ConvertFToS 197
             199:     94(ptr) AccessChain 90(uniformBuffer) 198 53
             200:   30(float) Load 199
             201:   30(float) Load 32(b)
             202:   30(float) FAdd 201 200
                              Store 32(b) 202
             206:      7(ptr) AccessChain 205(s) 53
             207:      6(int) Load 206
             208:     94(ptr) AccessChain 90(uniformBuffer) 207 53
             209:   30(float) Load 208
             210:   30(float) Load 32(b)
             211:   30(float) FAdd 210 209
                              Store 32(b) 211
                              Return
                              FunctionEnd
  11(foo(i1;i1;):      6(int) Function None 8
         9(nupi):      7(ptr) FunctionParameter
           10(f):      7(ptr) FunctionParameter
              12:             Label
              13:      6(int) Load 9(nupi)
                              ReturnValue 13
                              FunctionEnd
