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

                              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" 41 98 188
                              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 30  "nu_li2"
                              Name 38  "b"
                              Name 41  "nu_inv4"
                              Name 47  "nu_gf"
                              Name 53  "inputAttachmentDyn"
                              Name 54  "dyn_i"
                              Name 70  "uniformTexelBufferDyn"
                              Name 84  "storageTexelBufferDyn"
                              Name 93  "uname"
                              MemberName 93(uname) 0  "a"
                              Name 96  "uniformBuffer"
                              Name 98  "nu_ii"
                              Name 105  "bname"
                              MemberName 105(bname) 0  "b"
                              Name 108  "storageBuffer"
                              Name 118  "sampledImage"
                              Name 133  "storageImage"
                              Name 145  "inputAttachment"
                              Name 155  "uniformTexelBuffer"
                              Name 166  "storageTexelBuffer"
                              Name 177  "uniformTexArr"
                              Name 184  "uniformSampler"
                              Name 188  "inTexcoord"
                              Name 207  "v"
                              Name 222  "uv"
                              Name 232  "m"
                              Name 240  "S"
                              MemberName 240(S) 0  "a"
                              Name 242  "s"
                              Name 252  "arr"
                              Name 259  "um"
                              Name 268  "US"
                              MemberName 268(US) 0  "a"
                              Name 270  "us"
                              Name 278  "uarr"
                              Decorate 13 DecorationNonUniformEXT
                              Decorate 19 DecorationNonUniformEXT
                              Decorate 21 DecorationNonUniformEXT
                              Decorate 22 DecorationNonUniformEXT
                              Decorate 24 DecorationNonUniformEXT
                              Decorate 28 DecorationNonUniformEXT
                              Decorate 29 DecorationNonUniformEXT
                              Decorate 34 DecorationNonUniformEXT
                              Decorate 35 DecorationNonUniformEXT
                              Decorate 41(nu_inv4) Location 0
                              Decorate 46 DecorationNonUniformEXT
                              Decorate 48 DecorationNonUniformEXT
                              Decorate 49 DecorationNonUniformEXT
                              Decorate 53(inputAttachmentDyn) DescriptorSet 0
                              Decorate 53(inputAttachmentDyn) Binding 0
                              Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0
                              Decorate 70(uniformTexelBufferDyn) DescriptorSet 0
                              Decorate 70(uniformTexelBufferDyn) Binding 1
                              Decorate 84(storageTexelBufferDyn) DescriptorSet 0
                              Decorate 84(storageTexelBufferDyn) Binding 2
                              MemberDecorate 93(uname) 0 Offset 0
                              Decorate 93(uname) Block
                              Decorate 96(uniformBuffer) DescriptorSet 0
                              Decorate 96(uniformBuffer) Binding 3
                              Decorate 98(nu_ii) Flat
                              Decorate 98(nu_ii) Location 1
                              Decorate 99 DecorationNonUniformEXT
                              Decorate 101 DecorationNonUniformEXT
                              Decorate 102 DecorationNonUniformEXT
                              Decorate 104 DecorationNonUniformEXT
                              MemberDecorate 105(bname) 0 Offset 0
                              Decorate 105(bname) BufferBlock
                              Decorate 108(storageBuffer) DescriptorSet 0
                              Decorate 108(storageBuffer) Binding 4
                              Decorate 109 DecorationNonUniformEXT
                              Decorate 110 DecorationNonUniformEXT
                              Decorate 111 DecorationNonUniformEXT
                              Decorate 113 DecorationNonUniformEXT
                              Decorate 118(sampledImage) DescriptorSet 0
                              Decorate 118(sampledImage) Binding 5
                              Decorate 119 DecorationNonUniformEXT
                              Decorate 121 DecorationNonUniformEXT
                              Decorate 122 DecorationNonUniformEXT
                              Decorate 133(storageImage) DescriptorSet 0
                              Decorate 133(storageImage) Binding 6
                              Decorate 134 DecorationNonUniformEXT
                              Decorate 136 DecorationNonUniformEXT
                              Decorate 137 DecorationNonUniformEXT
                              Decorate 145(inputAttachment) DescriptorSet 0
                              Decorate 145(inputAttachment) Binding 7
                              Decorate 145(inputAttachment) InputAttachmentIndex 1
                              Decorate 146 DecorationNonUniformEXT
                              Decorate 147 DecorationNonUniformEXT
                              Decorate 148 DecorationNonUniformEXT
                              Decorate 155(uniformTexelBuffer) DescriptorSet 0
                              Decorate 155(uniformTexelBuffer) Binding 8
                              Decorate 156 DecorationNonUniformEXT
                              Decorate 157 DecorationNonUniformEXT
                              Decorate 158 DecorationNonUniformEXT
                              Decorate 159 DecorationNonUniformEXT
                              Decorate 166(storageTexelBuffer) DescriptorSet 0
                              Decorate 166(storageTexelBuffer) Binding 9
                              Decorate 167 DecorationNonUniformEXT
                              Decorate 168 DecorationNonUniformEXT
                              Decorate 169 DecorationNonUniformEXT
                              Decorate 177(uniformTexArr) DescriptorSet 0
                              Decorate 177(uniformTexArr) Binding 10
                              Decorate 178 DecorationNonUniformEXT
                              Decorate 180 DecorationNonUniformEXT
                              Decorate 181 DecorationNonUniformEXT
                              Decorate 184(uniformSampler) DescriptorSet 0
                              Decorate 184(uniformSampler) Binding 11
                              Decorate 188(inTexcoord) Location 2
                              Decorate 194 DecorationNonUniformEXT
                              Decorate 195 DecorationNonUniformEXT
                              Decorate 196 DecorationNonUniformEXT
                              Decorate 199 DecorationNonUniformEXT
                              Decorate 210 DecorationNonUniformEXT
                              Decorate 211 DecorationNonUniformEXT
                              Decorate 212 DecorationNonUniformEXT
                              Decorate 214 DecorationNonUniformEXT
                              Decorate 217 DecorationNonUniformEXT
                              Decorate 218 DecorationNonUniformEXT
                              Decorate 219 DecorationNonUniformEXT
                              Decorate 221 DecorationNonUniformEXT
                              Decorate 223 DecorationNonUniformEXT
                              Decorate 224 DecorationNonUniformEXT
                              Decorate 225 DecorationNonUniformEXT
                              Decorate 226 DecorationNonUniformEXT
                              Decorate 227 DecorationNonUniformEXT
                              Decorate 229 DecorationNonUniformEXT
                              Decorate 234 DecorationNonUniformEXT
                              Decorate 244 DecorationNonUniformEXT
                              Decorate 245 DecorationNonUniformEXT
                              Decorate 246 DecorationNonUniformEXT
                              Decorate 248 DecorationNonUniformEXT
                              Decorate 254 DecorationNonUniformEXT
                              Decorate 255 DecorationNonUniformEXT
                              Decorate 256 DecorationNonUniformEXT
                              Decorate 258 DecorationNonUniformEXT
                              Decorate 260 DecorationNonUniformEXT
                              Decorate 261 DecorationNonUniformEXT
                              Decorate 262 DecorationNonUniformEXT
                              Decorate 271 DecorationNonUniformEXT
                              Decorate 272 DecorationNonUniformEXT
                              Decorate 273 DecorationNonUniformEXT
                              Decorate 274 DecorationNonUniformEXT
                              Decorate 275 DecorationNonUniformEXT
                              Decorate 277 DecorationNonUniformEXT
                              Decorate 279 DecorationNonUniformEXT
                              Decorate 280 DecorationNonUniformEXT
                              Decorate 281 DecorationNonUniformEXT
                              Decorate 282 DecorationNonUniformEXT
                              Decorate 283 DecorationNonUniformEXT
                              Decorate 285 DecorationNonUniformEXT
                              Decorate 286 DecorationNonUniformEXT
                              Decorate 288 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
              36:             TypeFloat 32
              37:             TypePointer Function 36(float)
              39:             TypeVector 36(float) 4
              40:             TypePointer Input 39(fvec4)
     41(nu_inv4):     40(ptr) Variable Input
              42:             TypeInt 32 0
              43:     42(int) Constant 0
              44:             TypePointer Input 36(float)
              50:             TypeImage 36(float) SubpassData nonsampled format:Unknown
              51:             TypeRuntimeArray 50
              52:             TypePointer UniformConstant 51
53(inputAttachmentDyn):     52(ptr) Variable UniformConstant
              56:             TypePointer UniformConstant 50
              59:      6(int) Constant 0
              60:             TypeVector 6(int) 2
              61:   60(ivec2) ConstantComposite 59 59
              66:             TypeImage 36(float) Buffer sampled format:Unknown
              67:             TypeSampledImage 66
              68:             TypeRuntimeArray 67
              69:             TypePointer UniformConstant 68
70(uniformTexelBufferDyn):     69(ptr) Variable UniformConstant
              72:             TypePointer UniformConstant 67
              75:      6(int) Constant 1
              81:             TypeImage 36(float) Buffer nonsampled format:R32f
              82:             TypeRuntimeArray 81
              83:             TypePointer UniformConstant 82
84(storageTexelBufferDyn):     83(ptr) Variable UniformConstant
              86:             TypePointer UniformConstant 81
       93(uname):             TypeStruct 36(float)
              94:             TypeRuntimeArray 93(uname)
              95:             TypePointer Uniform 94
96(uniformBuffer):     95(ptr) Variable Uniform
              97:             TypePointer Input 6(int)
       98(nu_ii):     97(ptr) Variable Input
             100:             TypePointer Uniform 36(float)
      105(bname):             TypeStruct 36(float)
             106:             TypeRuntimeArray 105(bname)
             107:             TypePointer Uniform 106
108(storageBuffer):    107(ptr) Variable Uniform
             114:             TypeImage 36(float) 2D sampled format:Unknown
             115:             TypeSampledImage 114
             116:             TypeRuntimeArray 115
             117:             TypePointer UniformConstant 116
118(sampledImage):    117(ptr) Variable UniformConstant
             120:             TypePointer UniformConstant 115
             123:             TypeVector 36(float) 2
             124:   36(float) Constant 1056964608
             125:  123(fvec2) ConstantComposite 124 124
             130:             TypeImage 36(float) 2D nonsampled format:R32f
             131:             TypeRuntimeArray 130
             132:             TypePointer UniformConstant 131
133(storageImage):    132(ptr) Variable UniformConstant
             135:             TypePointer UniformConstant 130
             138:   60(ivec2) ConstantComposite 75 75
             143:             TypeRuntimeArray 50
             144:             TypePointer UniformConstant 143
145(inputAttachment):    144(ptr) Variable UniformConstant
             153:             TypeRuntimeArray 67
             154:             TypePointer UniformConstant 153
155(uniformTexelBuffer):    154(ptr) Variable UniformConstant
             164:             TypeRuntimeArray 81
             165:             TypePointer UniformConstant 164
166(storageTexelBuffer):    165(ptr) Variable UniformConstant
             174:     42(int) Constant 8
             175:             TypeArray 114 174
             176:             TypePointer UniformConstant 175
177(uniformTexArr):    176(ptr) Variable UniformConstant
             179:             TypePointer UniformConstant 114
             182:             TypeSampler
             183:             TypePointer UniformConstant 182
184(uniformSampler):    183(ptr) Variable UniformConstant
             187:             TypePointer Input 123(fvec2)
 188(inTexcoord):    187(ptr) Variable Input
             205:             TypeVector 6(int) 4
             206:             TypePointer Function 205(ivec4)
             208:     42(int) Constant 1
             215:     42(int) Constant 2
             230:             TypeMatrix 39(fvec4) 4
             231:             TypePointer Function 230
          240(S):             TypeStruct 6(int)
             241:             TypePointer Function 240(S)
             249:     42(int) Constant 10
             250:             TypeArray 6(int) 249
             251:             TypePointer Function 250
         268(US):             TypeStruct 250
             269:             TypePointer Function 268(US)
         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
      30(nu_li2):      7(ptr) Variable Function
           38(b):     37(ptr) Variable Function
       47(nu_gf):     37(ptr) Variable Function
       54(dyn_i):      7(ptr) Variable Function
          207(v):    206(ptr) Variable Function
         222(uv):    206(ptr) Variable Function
          232(m):    231(ptr) Variable Function
          242(s):    241(ptr) Variable Function
        252(arr):    251(ptr) Variable Function
         259(um):    231(ptr) Variable Function
         270(us):    269(ptr) Variable Function
       278(uarr):    251(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
              31:      6(int) Load 16(a)
              32:      6(int) Load 16(a)
              33:      6(int) IMul 32 26
              34:      6(int) CopyObject 33
              35:      6(int) IAdd 31 34
                              Store 30(nu_li2) 35
              45:     44(ptr) AccessChain 41(nu_inv4) 43
              46:   36(float) Load 45
              48:   36(float) Load 47(nu_gf)
              49:   36(float) FMul 46 48
                              Store 38(b) 49
              55:      6(int) Load 54(dyn_i)
              57:     56(ptr) AccessChain 53(inputAttachmentDyn) 55
              58:          50 Load 57
              62:   39(fvec4) ImageRead 58 61
              63:   36(float) CompositeExtract 62 0
              64:   36(float) Load 38(b)
              65:   36(float) FAdd 64 63
                              Store 38(b) 65
              71:      6(int) Load 54(dyn_i)
              73:     72(ptr) AccessChain 70(uniformTexelBufferDyn) 71
              74:          67 Load 73
              76:          66 Image 74
              77:   39(fvec4) ImageFetch 76 75
              78:   36(float) CompositeExtract 77 0
              79:   36(float) Load 38(b)
              80:   36(float) FAdd 79 78
                              Store 38(b) 80
              85:      6(int) Load 54(dyn_i)
              87:     86(ptr) AccessChain 84(storageTexelBufferDyn) 85
              88:          81 Load 87
              89:   39(fvec4) ImageRead 88 75
              90:   36(float) CompositeExtract 89 0
              91:   36(float) Load 38(b)
              92:   36(float) FAdd 91 90
                              Store 38(b) 92
              99:      6(int) Load 98(nu_ii)
             101:    100(ptr) AccessChain 96(uniformBuffer) 99 59
             102:   36(float) Load 101
             103:   36(float) Load 38(b)
             104:   36(float) FAdd 103 102
                              Store 38(b) 104
             109:      6(int) Load 98(nu_ii)
             110:    100(ptr) AccessChain 108(storageBuffer) 109 59
             111:   36(float) Load 110
             112:   36(float) Load 38(b)
             113:   36(float) FAdd 112 111
                              Store 38(b) 113
             119:      6(int) Load 98(nu_ii)
             121:    120(ptr) AccessChain 118(sampledImage) 119
             122:         115 Load 121
             126:   39(fvec4) ImageSampleImplicitLod 122 125
             127:   36(float) CompositeExtract 126 0
             128:   36(float) Load 38(b)
             129:   36(float) FAdd 128 127
                              Store 38(b) 129
             134:      6(int) Load 98(nu_ii)
             136:    135(ptr) AccessChain 133(storageImage) 134
             137:         130 Load 136
             139:   39(fvec4) ImageRead 137 138
             140:   36(float) CompositeExtract 139 0
             141:   36(float) Load 38(b)
             142:   36(float) FAdd 141 140
                              Store 38(b) 142
             146:      6(int) Load 98(nu_ii)
             147:     56(ptr) AccessChain 145(inputAttachment) 146
             148:          50 Load 147
             149:   39(fvec4) ImageRead 148 61
             150:   36(float) CompositeExtract 149 0
             151:   36(float) Load 38(b)
             152:   36(float) FAdd 151 150
                              Store 38(b) 152
             156:      6(int) Load 98(nu_ii)
             157:     72(ptr) AccessChain 155(uniformTexelBuffer) 156
             158:          67 Load 157
             159:          66 Image 158
             160:   39(fvec4) ImageFetch 159 75
             161:   36(float) CompositeExtract 160 0
             162:   36(float) Load 38(b)
             163:   36(float) FAdd 162 161
                              Store 38(b) 163
             167:      6(int) Load 98(nu_ii)
             168:     86(ptr) AccessChain 166(storageTexelBuffer) 167
             169:          81 Load 168
             170:   39(fvec4) ImageRead 169 75
             171:   36(float) CompositeExtract 170 0
             172:   36(float) Load 38(b)
             173:   36(float) FAdd 172 171
                              Store 38(b) 173
             178:      6(int) Load 98(nu_ii)
             180:    179(ptr) AccessChain 177(uniformTexArr) 178
             181:         114 Load 180
             185:         182 Load 184(uniformSampler)
             186:         115 SampledImage 181 185
             189:  123(fvec2) Load 188(inTexcoord)
             190:   39(fvec4) ImageSampleImplicitLod 186 189
             191:   36(float) CompositeExtract 190 0
             192:   36(float) Load 38(b)
             193:   36(float) FAdd 192 191
                              Store 38(b) 193
             194:      6(int) Load 98(nu_ii)
             195:    179(ptr) AccessChain 177(uniformTexArr) 194
             196:         114 Load 195
             197:         182 Load 184(uniformSampler)
             198:         115 SampledImage 196 197
             199:         115 CopyObject 198
             200:  123(fvec2) Load 188(inTexcoord)
             201:   39(fvec4) ImageSampleImplicitLod 199 200
             202:   36(float) CompositeExtract 201 0
             203:   36(float) Load 38(b)
             204:   36(float) FAdd 203 202
                              Store 38(b) 204
             209:      7(ptr) AccessChain 207(v) 208
             210:      6(int) Load 209
             211:    100(ptr) AccessChain 96(uniformBuffer) 210 59
             212:   36(float) Load 211
             213:   36(float) Load 38(b)
             214:   36(float) FAdd 213 212
                              Store 38(b) 214
             216:      7(ptr) AccessChain 207(v) 215
             217:      6(int) Load 216
             218:    100(ptr) AccessChain 96(uniformBuffer) 217 59
             219:   36(float) Load 218
             220:   36(float) Load 38(b)
             221:   36(float) FAdd 220 219
                              Store 38(b) 221
             223:      6(int) Load 98(nu_ii)
             224:      7(ptr) AccessChain 222(uv) 223
             225:      6(int) Load 224
             226:    100(ptr) AccessChain 96(uniformBuffer) 225 59
             227:   36(float) Load 226
             228:   36(float) Load 38(b)
             229:   36(float) FAdd 228 227
                              Store 38(b) 229
             233:     37(ptr) AccessChain 232(m) 26 215
             234:   36(float) Load 233
             235:      6(int) ConvertFToS 234
             236:    100(ptr) AccessChain 96(uniformBuffer) 235 59
             237:   36(float) Load 236
             238:   36(float) Load 38(b)
             239:   36(float) FAdd 238 237
                              Store 38(b) 239
             243:      7(ptr) AccessChain 242(s) 59
             244:      6(int) Load 243
             245:    100(ptr) AccessChain 96(uniformBuffer) 244 59
             246:   36(float) Load 245
             247:   36(float) Load 38(b)
             248:   36(float) FAdd 247 246
                              Store 38(b) 248
             253:      7(ptr) AccessChain 252(arr) 26
             254:      6(int) Load 253
             255:    100(ptr) AccessChain 96(uniformBuffer) 254 59
             256:   36(float) Load 255
             257:   36(float) Load 38(b)
             258:   36(float) FAdd 257 256
                              Store 38(b) 258
             260:      6(int) Load 98(nu_ii)
             261:     37(ptr) AccessChain 259(um) 260 215
             262:   36(float) Load 261
             263:      6(int) ConvertFToS 262
             264:    100(ptr) AccessChain 96(uniformBuffer) 263 59
             265:   36(float) Load 264
             266:   36(float) Load 38(b)
             267:   36(float) FAdd 266 265
                              Store 38(b) 267
             271:      6(int) Load 98(nu_ii)
             272:      7(ptr) AccessChain 270(us) 59 271
             273:      6(int) Load 272
             274:    100(ptr) AccessChain 96(uniformBuffer) 273 59
             275:   36(float) Load 274
             276:   36(float) Load 38(b)
             277:   36(float) FAdd 276 275
                              Store 38(b) 277
             279:      6(int) Load 98(nu_ii)
             280:      7(ptr) AccessChain 278(uarr) 279
             281:      6(int) Load 280
             282:    100(ptr) AccessChain 96(uniformBuffer) 281 59
             283:   36(float) Load 282
             284:   36(float) Load 38(b)
             285:   36(float) FAdd 284 283
                              Store 38(b) 285
             286:      6(int) Load 98(nu_ii)
             287:   36(float) Load 38(b)
             288:    100(ptr) AccessChain 108(storageBuffer) 286 59
                              Store 288 287
                              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
