1spv.nonuniform.frag
2// Module Version 10000
3// Generated by (magic number): 8000a
4// Id's are bound by 289
5
6                              Capability Shader
7                              Capability InputAttachment
8                              Capability SampledBuffer
9                              Capability ImageBuffer
10                              Capability ShaderNonUniformEXT
11                              Capability RuntimeDescriptorArrayEXT
12                              Capability InputAttachmentArrayDynamicIndexingEXT
13                              Capability UniformTexelBufferArrayDynamicIndexingEXT
14                              Capability StorageTexelBufferArrayDynamicIndexingEXT
15                              Capability UniformBufferArrayNonUniformIndexingEXT
16                              Capability SampledImageArrayNonUniformIndexingEXT
17                              Capability StorageBufferArrayNonUniformIndexingEXT
18                              Capability StorageImageArrayNonUniformIndexingEXT
19                              Capability InputAttachmentArrayNonUniformIndexingEXT
20                              Capability UniformTexelBufferArrayNonUniformIndexingEXT
21                              Capability StorageTexelBufferArrayNonUniformIndexingEXT
22                              Extension  "SPV_EXT_descriptor_indexing"
23               1:             ExtInstImport  "GLSL.std.450"
24                              MemoryModel Logical GLSL450
25                              EntryPoint Fragment 4  "main" 41 98 188
26                              ExecutionMode 4 OriginUpperLeft
27                              Source GLSL 450
28                              SourceExtension  "GL_EXT_nonuniform_qualifier"
29                              Name 4  "main"
30                              Name 11  "foo(i1;i1;"
31                              Name 9  "nupi"
32                              Name 10  "f"
33                              Name 16  "a"
34                              Name 17  "nu_li"
35                              Name 18  "param"
36                              Name 20  "param"
37                              Name 30  "nu_li2"
38                              Name 38  "b"
39                              Name 41  "nu_inv4"
40                              Name 47  "nu_gf"
41                              Name 53  "inputAttachmentDyn"
42                              Name 54  "dyn_i"
43                              Name 70  "uniformTexelBufferDyn"
44                              Name 84  "storageTexelBufferDyn"
45                              Name 93  "uname"
46                              MemberName 93(uname) 0  "a"
47                              Name 96  "uniformBuffer"
48                              Name 98  "nu_ii"
49                              Name 105  "bname"
50                              MemberName 105(bname) 0  "b"
51                              Name 108  "storageBuffer"
52                              Name 118  "sampledImage"
53                              Name 133  "storageImage"
54                              Name 145  "inputAttachment"
55                              Name 155  "uniformTexelBuffer"
56                              Name 166  "storageTexelBuffer"
57                              Name 177  "uniformTexArr"
58                              Name 184  "uniformSampler"
59                              Name 188  "inTexcoord"
60                              Name 207  "v"
61                              Name 222  "uv"
62                              Name 232  "m"
63                              Name 240  "S"
64                              MemberName 240(S) 0  "a"
65                              Name 242  "s"
66                              Name 252  "arr"
67                              Name 259  "um"
68                              Name 268  "US"
69                              MemberName 268(US) 0  "a"
70                              Name 270  "us"
71                              Name 278  "uarr"
72                              Decorate 13 DecorationNonUniformEXT
73                              Decorate 19 DecorationNonUniformEXT
74                              Decorate 21 DecorationNonUniformEXT
75                              Decorate 22 DecorationNonUniformEXT
76                              Decorate 24 DecorationNonUniformEXT
77                              Decorate 28 DecorationNonUniformEXT
78                              Decorate 29 DecorationNonUniformEXT
79                              Decorate 34 DecorationNonUniformEXT
80                              Decorate 35 DecorationNonUniformEXT
81                              Decorate 41(nu_inv4) Location 0
82                              Decorate 46 DecorationNonUniformEXT
83                              Decorate 48 DecorationNonUniformEXT
84                              Decorate 49 DecorationNonUniformEXT
85                              Decorate 53(inputAttachmentDyn) DescriptorSet 0
86                              Decorate 53(inputAttachmentDyn) Binding 0
87                              Decorate 53(inputAttachmentDyn) InputAttachmentIndex 0
88                              Decorate 70(uniformTexelBufferDyn) DescriptorSet 0
89                              Decorate 70(uniformTexelBufferDyn) Binding 1
90                              Decorate 84(storageTexelBufferDyn) DescriptorSet 0
91                              Decorate 84(storageTexelBufferDyn) Binding 2
92                              MemberDecorate 93(uname) 0 Offset 0
93                              Decorate 93(uname) Block
94                              Decorate 96(uniformBuffer) DescriptorSet 0
95                              Decorate 96(uniformBuffer) Binding 3
96                              Decorate 98(nu_ii) Flat
97                              Decorate 98(nu_ii) Location 1
98                              Decorate 99 DecorationNonUniformEXT
99                              Decorate 101 DecorationNonUniformEXT
100                              Decorate 102 DecorationNonUniformEXT
101                              Decorate 104 DecorationNonUniformEXT
102                              MemberDecorate 105(bname) 0 Offset 0
103                              Decorate 105(bname) BufferBlock
104                              Decorate 108(storageBuffer) DescriptorSet 0
105                              Decorate 108(storageBuffer) Binding 4
106                              Decorate 109 DecorationNonUniformEXT
107                              Decorate 110 DecorationNonUniformEXT
108                              Decorate 111 DecorationNonUniformEXT
109                              Decorate 113 DecorationNonUniformEXT
110                              Decorate 118(sampledImage) DescriptorSet 0
111                              Decorate 118(sampledImage) Binding 5
112                              Decorate 119 DecorationNonUniformEXT
113                              Decorate 121 DecorationNonUniformEXT
114                              Decorate 122 DecorationNonUniformEXT
115                              Decorate 133(storageImage) DescriptorSet 0
116                              Decorate 133(storageImage) Binding 6
117                              Decorate 134 DecorationNonUniformEXT
118                              Decorate 136 DecorationNonUniformEXT
119                              Decorate 137 DecorationNonUniformEXT
120                              Decorate 145(inputAttachment) DescriptorSet 0
121                              Decorate 145(inputAttachment) Binding 7
122                              Decorate 145(inputAttachment) InputAttachmentIndex 1
123                              Decorate 146 DecorationNonUniformEXT
124                              Decorate 147 DecorationNonUniformEXT
125                              Decorate 148 DecorationNonUniformEXT
126                              Decorate 155(uniformTexelBuffer) DescriptorSet 0
127                              Decorate 155(uniformTexelBuffer) Binding 8
128                              Decorate 156 DecorationNonUniformEXT
129                              Decorate 157 DecorationNonUniformEXT
130                              Decorate 158 DecorationNonUniformEXT
131                              Decorate 159 DecorationNonUniformEXT
132                              Decorate 166(storageTexelBuffer) DescriptorSet 0
133                              Decorate 166(storageTexelBuffer) Binding 9
134                              Decorate 167 DecorationNonUniformEXT
135                              Decorate 168 DecorationNonUniformEXT
136                              Decorate 169 DecorationNonUniformEXT
137                              Decorate 177(uniformTexArr) DescriptorSet 0
138                              Decorate 177(uniformTexArr) Binding 10
139                              Decorate 178 DecorationNonUniformEXT
140                              Decorate 180 DecorationNonUniformEXT
141                              Decorate 181 DecorationNonUniformEXT
142                              Decorate 184(uniformSampler) DescriptorSet 0
143                              Decorate 184(uniformSampler) Binding 11
144                              Decorate 188(inTexcoord) Location 2
145                              Decorate 194 DecorationNonUniformEXT
146                              Decorate 195 DecorationNonUniformEXT
147                              Decorate 196 DecorationNonUniformEXT
148                              Decorate 199 DecorationNonUniformEXT
149                              Decorate 210 DecorationNonUniformEXT
150                              Decorate 211 DecorationNonUniformEXT
151                              Decorate 212 DecorationNonUniformEXT
152                              Decorate 214 DecorationNonUniformEXT
153                              Decorate 217 DecorationNonUniformEXT
154                              Decorate 218 DecorationNonUniformEXT
155                              Decorate 219 DecorationNonUniformEXT
156                              Decorate 221 DecorationNonUniformEXT
157                              Decorate 223 DecorationNonUniformEXT
158                              Decorate 224 DecorationNonUniformEXT
159                              Decorate 225 DecorationNonUniformEXT
160                              Decorate 226 DecorationNonUniformEXT
161                              Decorate 227 DecorationNonUniformEXT
162                              Decorate 229 DecorationNonUniformEXT
163                              Decorate 234 DecorationNonUniformEXT
164                              Decorate 244 DecorationNonUniformEXT
165                              Decorate 245 DecorationNonUniformEXT
166                              Decorate 246 DecorationNonUniformEXT
167                              Decorate 248 DecorationNonUniformEXT
168                              Decorate 254 DecorationNonUniformEXT
169                              Decorate 255 DecorationNonUniformEXT
170                              Decorate 256 DecorationNonUniformEXT
171                              Decorate 258 DecorationNonUniformEXT
172                              Decorate 260 DecorationNonUniformEXT
173                              Decorate 261 DecorationNonUniformEXT
174                              Decorate 262 DecorationNonUniformEXT
175                              Decorate 271 DecorationNonUniformEXT
176                              Decorate 272 DecorationNonUniformEXT
177                              Decorate 273 DecorationNonUniformEXT
178                              Decorate 274 DecorationNonUniformEXT
179                              Decorate 275 DecorationNonUniformEXT
180                              Decorate 277 DecorationNonUniformEXT
181                              Decorate 279 DecorationNonUniformEXT
182                              Decorate 280 DecorationNonUniformEXT
183                              Decorate 281 DecorationNonUniformEXT
184                              Decorate 282 DecorationNonUniformEXT
185                              Decorate 283 DecorationNonUniformEXT
186                              Decorate 285 DecorationNonUniformEXT
187                              Decorate 286 DecorationNonUniformEXT
188                              Decorate 288 DecorationNonUniformEXT
189               2:             TypeVoid
190               3:             TypeFunction 2
191               6:             TypeInt 32 1
192               7:             TypePointer Function 6(int)
193               8:             TypeFunction 6(int) 7(ptr) 7(ptr)
194              26:      6(int) Constant 2
195              36:             TypeFloat 32
196              37:             TypePointer Function 36(float)
197              39:             TypeVector 36(float) 4
198              40:             TypePointer Input 39(fvec4)
199     41(nu_inv4):     40(ptr) Variable Input
200              42:             TypeInt 32 0
201              43:     42(int) Constant 0
202              44:             TypePointer Input 36(float)
203              50:             TypeImage 36(float) SubpassData nonsampled format:Unknown
204              51:             TypeRuntimeArray 50
205              52:             TypePointer UniformConstant 51
20653(inputAttachmentDyn):     52(ptr) Variable UniformConstant
207              56:             TypePointer UniformConstant 50
208              59:      6(int) Constant 0
209              60:             TypeVector 6(int) 2
210              61:   60(ivec2) ConstantComposite 59 59
211              66:             TypeImage 36(float) Buffer sampled format:Unknown
212              67:             TypeSampledImage 66
213              68:             TypeRuntimeArray 67
214              69:             TypePointer UniformConstant 68
21570(uniformTexelBufferDyn):     69(ptr) Variable UniformConstant
216              72:             TypePointer UniformConstant 67
217              75:      6(int) Constant 1
218              81:             TypeImage 36(float) Buffer nonsampled format:R32f
219              82:             TypeRuntimeArray 81
220              83:             TypePointer UniformConstant 82
22184(storageTexelBufferDyn):     83(ptr) Variable UniformConstant
222              86:             TypePointer UniformConstant 81
223       93(uname):             TypeStruct 36(float)
224              94:             TypeRuntimeArray 93(uname)
225              95:             TypePointer Uniform 94
22696(uniformBuffer):     95(ptr) Variable Uniform
227              97:             TypePointer Input 6(int)
228       98(nu_ii):     97(ptr) Variable Input
229             100:             TypePointer Uniform 36(float)
230      105(bname):             TypeStruct 36(float)
231             106:             TypeRuntimeArray 105(bname)
232             107:             TypePointer Uniform 106
233108(storageBuffer):    107(ptr) Variable Uniform
234             114:             TypeImage 36(float) 2D sampled format:Unknown
235             115:             TypeSampledImage 114
236             116:             TypeRuntimeArray 115
237             117:             TypePointer UniformConstant 116
238118(sampledImage):    117(ptr) Variable UniformConstant
239             120:             TypePointer UniformConstant 115
240             123:             TypeVector 36(float) 2
241             124:   36(float) Constant 1056964608
242             125:  123(fvec2) ConstantComposite 124 124
243             130:             TypeImage 36(float) 2D nonsampled format:R32f
244             131:             TypeRuntimeArray 130
245             132:             TypePointer UniformConstant 131
246133(storageImage):    132(ptr) Variable UniformConstant
247             135:             TypePointer UniformConstant 130
248             138:   60(ivec2) ConstantComposite 75 75
249             143:             TypeRuntimeArray 50
250             144:             TypePointer UniformConstant 143
251145(inputAttachment):    144(ptr) Variable UniformConstant
252             153:             TypeRuntimeArray 67
253             154:             TypePointer UniformConstant 153
254155(uniformTexelBuffer):    154(ptr) Variable UniformConstant
255             164:             TypeRuntimeArray 81
256             165:             TypePointer UniformConstant 164
257166(storageTexelBuffer):    165(ptr) Variable UniformConstant
258             174:     42(int) Constant 8
259             175:             TypeArray 114 174
260             176:             TypePointer UniformConstant 175
261177(uniformTexArr):    176(ptr) Variable UniformConstant
262             179:             TypePointer UniformConstant 114
263             182:             TypeSampler
264             183:             TypePointer UniformConstant 182
265184(uniformSampler):    183(ptr) Variable UniformConstant
266             187:             TypePointer Input 123(fvec2)
267 188(inTexcoord):    187(ptr) Variable Input
268             205:             TypeVector 6(int) 4
269             206:             TypePointer Function 205(ivec4)
270             208:     42(int) Constant 1
271             215:     42(int) Constant 2
272             230:             TypeMatrix 39(fvec4) 4
273             231:             TypePointer Function 230
274          240(S):             TypeStruct 6(int)
275             241:             TypePointer Function 240(S)
276             249:     42(int) Constant 10
277             250:             TypeArray 6(int) 249
278             251:             TypePointer Function 250
279         268(US):             TypeStruct 250
280             269:             TypePointer Function 268(US)
281         4(main):           2 Function None 3
282               5:             Label
283           16(a):      7(ptr) Variable Function
284       17(nu_li):      7(ptr) Variable Function
285       18(param):      7(ptr) Variable Function
286       20(param):      7(ptr) Variable Function
287      30(nu_li2):      7(ptr) Variable Function
288           38(b):     37(ptr) Variable Function
289       47(nu_gf):     37(ptr) Variable Function
290       54(dyn_i):      7(ptr) Variable Function
291          207(v):    206(ptr) Variable Function
292         222(uv):    206(ptr) Variable Function
293          232(m):    231(ptr) Variable Function
294          242(s):    241(ptr) Variable Function
295        252(arr):    251(ptr) Variable Function
296         259(um):    231(ptr) Variable Function
297         270(us):    269(ptr) Variable Function
298       278(uarr):    251(ptr) Variable Function
299              19:      6(int) Load 17(nu_li)
300                              Store 18(param) 19
301              21:      6(int) FunctionCall 11(foo(i1;i1;) 18(param) 20(param)
302              22:      6(int) Load 20(param)
303                              Store 17(nu_li) 22
304                              Store 16(a) 21
305              23:      6(int) Load 16(a)
306              24:      6(int) CopyObject 23
307              25:      6(int) Load 16(a)
308              27:      6(int) IMul 25 26
309              28:      6(int) CopyObject 27
310              29:      6(int) IAdd 24 28
311                              Store 17(nu_li) 29
312              31:      6(int) Load 16(a)
313              32:      6(int) Load 16(a)
314              33:      6(int) IMul 32 26
315              34:      6(int) CopyObject 33
316              35:      6(int) IAdd 31 34
317                              Store 30(nu_li2) 35
318              45:     44(ptr) AccessChain 41(nu_inv4) 43
319              46:   36(float) Load 45
320              48:   36(float) Load 47(nu_gf)
321              49:   36(float) FMul 46 48
322                              Store 38(b) 49
323              55:      6(int) Load 54(dyn_i)
324              57:     56(ptr) AccessChain 53(inputAttachmentDyn) 55
325              58:          50 Load 57
326              62:   39(fvec4) ImageRead 58 61
327              63:   36(float) CompositeExtract 62 0
328              64:   36(float) Load 38(b)
329              65:   36(float) FAdd 64 63
330                              Store 38(b) 65
331              71:      6(int) Load 54(dyn_i)
332              73:     72(ptr) AccessChain 70(uniformTexelBufferDyn) 71
333              74:          67 Load 73
334              76:          66 Image 74
335              77:   39(fvec4) ImageFetch 76 75
336              78:   36(float) CompositeExtract 77 0
337              79:   36(float) Load 38(b)
338              80:   36(float) FAdd 79 78
339                              Store 38(b) 80
340              85:      6(int) Load 54(dyn_i)
341              87:     86(ptr) AccessChain 84(storageTexelBufferDyn) 85
342              88:          81 Load 87
343              89:   39(fvec4) ImageRead 88 75
344              90:   36(float) CompositeExtract 89 0
345              91:   36(float) Load 38(b)
346              92:   36(float) FAdd 91 90
347                              Store 38(b) 92
348              99:      6(int) Load 98(nu_ii)
349             101:    100(ptr) AccessChain 96(uniformBuffer) 99 59
350             102:   36(float) Load 101
351             103:   36(float) Load 38(b)
352             104:   36(float) FAdd 103 102
353                              Store 38(b) 104
354             109:      6(int) Load 98(nu_ii)
355             110:    100(ptr) AccessChain 108(storageBuffer) 109 59
356             111:   36(float) Load 110
357             112:   36(float) Load 38(b)
358             113:   36(float) FAdd 112 111
359                              Store 38(b) 113
360             119:      6(int) Load 98(nu_ii)
361             121:    120(ptr) AccessChain 118(sampledImage) 119
362             122:         115 Load 121
363             126:   39(fvec4) ImageSampleImplicitLod 122 125
364             127:   36(float) CompositeExtract 126 0
365             128:   36(float) Load 38(b)
366             129:   36(float) FAdd 128 127
367                              Store 38(b) 129
368             134:      6(int) Load 98(nu_ii)
369             136:    135(ptr) AccessChain 133(storageImage) 134
370             137:         130 Load 136
371             139:   39(fvec4) ImageRead 137 138
372             140:   36(float) CompositeExtract 139 0
373             141:   36(float) Load 38(b)
374             142:   36(float) FAdd 141 140
375                              Store 38(b) 142
376             146:      6(int) Load 98(nu_ii)
377             147:     56(ptr) AccessChain 145(inputAttachment) 146
378             148:          50 Load 147
379             149:   39(fvec4) ImageRead 148 61
380             150:   36(float) CompositeExtract 149 0
381             151:   36(float) Load 38(b)
382             152:   36(float) FAdd 151 150
383                              Store 38(b) 152
384             156:      6(int) Load 98(nu_ii)
385             157:     72(ptr) AccessChain 155(uniformTexelBuffer) 156
386             158:          67 Load 157
387             159:          66 Image 158
388             160:   39(fvec4) ImageFetch 159 75
389             161:   36(float) CompositeExtract 160 0
390             162:   36(float) Load 38(b)
391             163:   36(float) FAdd 162 161
392                              Store 38(b) 163
393             167:      6(int) Load 98(nu_ii)
394             168:     86(ptr) AccessChain 166(storageTexelBuffer) 167
395             169:          81 Load 168
396             170:   39(fvec4) ImageRead 169 75
397             171:   36(float) CompositeExtract 170 0
398             172:   36(float) Load 38(b)
399             173:   36(float) FAdd 172 171
400                              Store 38(b) 173
401             178:      6(int) Load 98(nu_ii)
402             180:    179(ptr) AccessChain 177(uniformTexArr) 178
403             181:         114 Load 180
404             185:         182 Load 184(uniformSampler)
405             186:         115 SampledImage 181 185
406             189:  123(fvec2) Load 188(inTexcoord)
407             190:   39(fvec4) ImageSampleImplicitLod 186 189
408             191:   36(float) CompositeExtract 190 0
409             192:   36(float) Load 38(b)
410             193:   36(float) FAdd 192 191
411                              Store 38(b) 193
412             194:      6(int) Load 98(nu_ii)
413             195:    179(ptr) AccessChain 177(uniformTexArr) 194
414             196:         114 Load 195
415             197:         182 Load 184(uniformSampler)
416             198:         115 SampledImage 196 197
417             199:         115 CopyObject 198
418             200:  123(fvec2) Load 188(inTexcoord)
419             201:   39(fvec4) ImageSampleImplicitLod 199 200
420             202:   36(float) CompositeExtract 201 0
421             203:   36(float) Load 38(b)
422             204:   36(float) FAdd 203 202
423                              Store 38(b) 204
424             209:      7(ptr) AccessChain 207(v) 208
425             210:      6(int) Load 209
426             211:    100(ptr) AccessChain 96(uniformBuffer) 210 59
427             212:   36(float) Load 211
428             213:   36(float) Load 38(b)
429             214:   36(float) FAdd 213 212
430                              Store 38(b) 214
431             216:      7(ptr) AccessChain 207(v) 215
432             217:      6(int) Load 216
433             218:    100(ptr) AccessChain 96(uniformBuffer) 217 59
434             219:   36(float) Load 218
435             220:   36(float) Load 38(b)
436             221:   36(float) FAdd 220 219
437                              Store 38(b) 221
438             223:      6(int) Load 98(nu_ii)
439             224:      7(ptr) AccessChain 222(uv) 223
440             225:      6(int) Load 224
441             226:    100(ptr) AccessChain 96(uniformBuffer) 225 59
442             227:   36(float) Load 226
443             228:   36(float) Load 38(b)
444             229:   36(float) FAdd 228 227
445                              Store 38(b) 229
446             233:     37(ptr) AccessChain 232(m) 26 215
447             234:   36(float) Load 233
448             235:      6(int) ConvertFToS 234
449             236:    100(ptr) AccessChain 96(uniformBuffer) 235 59
450             237:   36(float) Load 236
451             238:   36(float) Load 38(b)
452             239:   36(float) FAdd 238 237
453                              Store 38(b) 239
454             243:      7(ptr) AccessChain 242(s) 59
455             244:      6(int) Load 243
456             245:    100(ptr) AccessChain 96(uniformBuffer) 244 59
457             246:   36(float) Load 245
458             247:   36(float) Load 38(b)
459             248:   36(float) FAdd 247 246
460                              Store 38(b) 248
461             253:      7(ptr) AccessChain 252(arr) 26
462             254:      6(int) Load 253
463             255:    100(ptr) AccessChain 96(uniformBuffer) 254 59
464             256:   36(float) Load 255
465             257:   36(float) Load 38(b)
466             258:   36(float) FAdd 257 256
467                              Store 38(b) 258
468             260:      6(int) Load 98(nu_ii)
469             261:     37(ptr) AccessChain 259(um) 260 215
470             262:   36(float) Load 261
471             263:      6(int) ConvertFToS 262
472             264:    100(ptr) AccessChain 96(uniformBuffer) 263 59
473             265:   36(float) Load 264
474             266:   36(float) Load 38(b)
475             267:   36(float) FAdd 266 265
476                              Store 38(b) 267
477             271:      6(int) Load 98(nu_ii)
478             272:      7(ptr) AccessChain 270(us) 59 271
479             273:      6(int) Load 272
480             274:    100(ptr) AccessChain 96(uniformBuffer) 273 59
481             275:   36(float) Load 274
482             276:   36(float) Load 38(b)
483             277:   36(float) FAdd 276 275
484                              Store 38(b) 277
485             279:      6(int) Load 98(nu_ii)
486             280:      7(ptr) AccessChain 278(uarr) 279
487             281:      6(int) Load 280
488             282:    100(ptr) AccessChain 96(uniformBuffer) 281 59
489             283:   36(float) Load 282
490             284:   36(float) Load 38(b)
491             285:   36(float) FAdd 284 283
492                              Store 38(b) 285
493             286:      6(int) Load 98(nu_ii)
494             287:   36(float) Load 38(b)
495             288:    100(ptr) AccessChain 108(storageBuffer) 286 59
496                              Store 288 287
497                              Return
498                              FunctionEnd
499  11(foo(i1;i1;):      6(int) Function None 8
500         9(nupi):      7(ptr) FunctionParameter
501           10(f):      7(ptr) FunctionParameter
502              12:             Label
503              13:      6(int) Load 9(nupi)
504                              ReturnValue 13
505                              FunctionEnd
506