blob: 6de712156219b6be59ec12c96a810bd2dda14cd5 [file] [log] [blame]
spv.conversion.frag
Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 443
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 8 "b"
Name 11 "u_i"
Name 18 "u_f"
Name 25 "b2"
Name 33 "b3"
Name 39 "i_i"
Name 45 "b4"
Name 53 "i_f"
Name 58 "i"
Name 68 "i2"
Name 71 "u_f2"
Name 81 "i3"
Name 84 "u_f3"
Name 94 "i4"
Name 97 "u_f4"
Name 106 "f"
Name 110 "f2"
Name 114 "f3"
Name 118 "f4"
Name 157 "i_i4"
Name 312 "gl_FragColor"
Name 405 "cv2"
Name 406 "cv5"
Name 416 "u_b"
Name 418 "u_b2"
Name 420 "u_b3"
Name 422 "u_b4"
Name 424 "u_i2"
Name 426 "u_i3"
Name 428 "u_i4"
Name 429 "i_b"
Name 430 "i_b2"
Name 431 "i_b3"
Name 432 "i_b4"
Name 434 "i_i2"
Name 436 "i_i3"
Name 438 "i_f2"
Name 440 "i_f3"
Name 442 "i_f4"
Decorate 39(i_i) Flat
Decorate 53(i_f) Smooth
Decorate 157(i_i4) Flat
Decorate 312(gl_FragColor) BuiltIn FragColor
Decorate 416(u_b) NoStaticUse
Decorate 418(u_b2) NoStaticUse
Decorate 420(u_b3) NoStaticUse
Decorate 422(u_b4) NoStaticUse
Decorate 424(u_i2) NoStaticUse
Decorate 426(u_i3) NoStaticUse
Decorate 428(u_i4) NoStaticUse
Decorate 429(i_b) NoStaticUse
Decorate 430(i_b2) NoStaticUse
Decorate 431(i_b3) NoStaticUse
Decorate 432(i_b4) NoStaticUse
Decorate 434(i_i2) Flat
Decorate 434(i_i2) NoStaticUse
Decorate 436(i_i3) Flat
Decorate 436(i_i3) NoStaticUse
Decorate 438(i_f2) Smooth
Decorate 438(i_f2) NoStaticUse
Decorate 440(i_f3) Smooth
Decorate 440(i_f3) NoStaticUse
Decorate 442(i_f4) Smooth
Decorate 442(i_f4) NoStaticUse
2: TypeVoid
3: TypeFunction 2
6: TypeBool
7: TypePointer Function 6(bool)
9: TypeInt 32 1
10: TypePointer UniformConstant 9(int)
11(u_i): 10(ptr) Variable UniformConstant
13: TypeInt 32 0
14: 13(int) Constant 0
16: TypeFloat 32
17: TypePointer UniformConstant 16(float)
18(u_f): 17(ptr) Variable UniformConstant
20: 16(float) Constant 0
23: TypeVector 6(bool) 2
24: TypePointer Function 23(bvec2)
31: TypeVector 6(bool) 3
32: TypePointer Function 31(bvec3)
38: TypePointer Input 9(int)
39(i_i): 38(ptr) Variable Input
43: TypeVector 6(bool) 4
44: TypePointer Function 43(bvec4)
52: TypePointer Input 16(float)
53(i_f): 52(ptr) Variable Input
57: TypePointer Function 9(int)
62: 9(int) Constant 0
63: 9(int) Constant 1
66: TypeVector 9(int) 2
67: TypePointer Function 66(ivec2)
69: TypeVector 16(float) 2
70: TypePointer UniformConstant 69(fvec2)
71(u_f2): 70(ptr) Variable UniformConstant
75: 66(ivec2) ConstantComposite 62 62
76: 66(ivec2) ConstantComposite 63 63
79: TypeVector 9(int) 3
80: TypePointer Function 79(ivec3)
82: TypeVector 16(float) 3
83: TypePointer UniformConstant 82(fvec3)
84(u_f3): 83(ptr) Variable UniformConstant
88: 79(ivec3) ConstantComposite 62 62 62
89: 79(ivec3) ConstantComposite 63 63 63
92: TypeVector 9(int) 4
93: TypePointer Function 92(ivec4)
95: TypeVector 16(float) 4
96: TypePointer UniformConstant 95(fvec4)
97(u_f4): 96(ptr) Variable UniformConstant
101: 92(ivec4) ConstantComposite 62 62 62 62
102: 92(ivec4) ConstantComposite 63 63 63 63
105: TypePointer Function 16(float)
109: TypePointer Function 69(fvec2)
113: TypePointer Function 82(fvec3)
117: TypePointer Function 95(fvec4)
124: 16(float) Constant 1065353216
132: 69(fvec2) ConstantComposite 20 20
133: 69(fvec2) ConstantComposite 124 124
141: 82(fvec3) ConstantComposite 20 20 20
142: 82(fvec3) ConstantComposite 124 124 124
150: 95(fvec4) ConstantComposite 20 20 20 20
151: 95(fvec4) ConstantComposite 124 124 124 124
156: TypePointer Input 92(ivec4)
157(i_i4): 156(ptr) Variable Input
159: TypeVector 13(int) 4
160: 159(ivec4) ConstantComposite 14 14 14 14
311: TypePointer Output 95(fvec4)
312(gl_FragColor): 311(ptr) Variable Output
415: TypePointer UniformConstant 6(bool)
416(u_b): 415(ptr) Variable UniformConstant
417: TypePointer UniformConstant 23(bvec2)
418(u_b2): 417(ptr) Variable UniformConstant
419: TypePointer UniformConstant 31(bvec3)
420(u_b3): 419(ptr) Variable UniformConstant
421: TypePointer UniformConstant 43(bvec4)
422(u_b4): 421(ptr) Variable UniformConstant
423: TypePointer UniformConstant 66(ivec2)
424(u_i2): 423(ptr) Variable UniformConstant
425: TypePointer UniformConstant 79(ivec3)
426(u_i3): 425(ptr) Variable UniformConstant
427: TypePointer UniformConstant 92(ivec4)
428(u_i4): 427(ptr) Variable UniformConstant
429(i_b): 415(ptr) Variable UniformConstant
430(i_b2): 417(ptr) Variable UniformConstant
431(i_b3): 419(ptr) Variable UniformConstant
432(i_b4): 421(ptr) Variable UniformConstant
433: TypePointer Input 66(ivec2)
434(i_i2): 433(ptr) Variable Input
435: TypePointer Input 79(ivec3)
436(i_i3): 435(ptr) Variable Input
437: TypePointer Input 69(fvec2)
438(i_f2): 437(ptr) Variable Input
439: TypePointer Input 82(fvec3)
440(i_f3): 439(ptr) Variable Input
441: TypePointer Input 95(fvec4)
442(i_f4): 441(ptr) Variable Input
4(main): 2 Function None 3
5: Label
8(b): 7(ptr) Variable Function
25(b2): 24(ptr) Variable Function
33(b3): 32(ptr) Variable Function
45(b4): 44(ptr) Variable Function
58(i): 57(ptr) Variable Function
68(i2): 67(ptr) Variable Function
81(i3): 80(ptr) Variable Function
94(i4): 93(ptr) Variable Function
106(f): 105(ptr) Variable Function
110(f2): 109(ptr) Variable Function
114(f3): 113(ptr) Variable Function
118(f4): 117(ptr) Variable Function
288: 105(ptr) Variable Function
298: 105(ptr) Variable Function
313: 117(ptr) Variable Function
405(cv2): 93(ptr) Variable Function
406(cv5): 44(ptr) Variable Function
12: 9(int) Load 11(u_i)
15: 6(bool) INotEqual 12 14
19: 16(float) Load 18(u_f)
21: 6(bool) FOrdNotEqual 19 20
22: 6(bool) LogicalNotEqual 15 21
Store 8(b) 22
26: 9(int) Load 11(u_i)
27: 6(bool) INotEqual 26 14
28: 16(float) Load 18(u_f)
29: 6(bool) FOrdNotEqual 28 20
30: 23(bvec2) CompositeConstruct 27 29
Store 25(b2) 30
34: 9(int) Load 11(u_i)
35: 6(bool) INotEqual 34 14
36: 16(float) Load 18(u_f)
37: 6(bool) FOrdNotEqual 36 20
40: 9(int) Load 39(i_i)
41: 6(bool) INotEqual 40 14
42: 31(bvec3) CompositeConstruct 35 37 41
Store 33(b3) 42
46: 9(int) Load 11(u_i)
47: 6(bool) INotEqual 46 14
48: 16(float) Load 18(u_f)
49: 6(bool) FOrdNotEqual 48 20
50: 9(int) Load 39(i_i)
51: 6(bool) INotEqual 50 14
54: 16(float) Load 53(i_f)
55: 6(bool) FOrdNotEqual 54 20
56: 43(bvec4) CompositeConstruct 47 49 51 55
Store 45(b4) 56
59: 16(float) Load 18(u_f)
60: 9(int) ConvertFToS 59
61: 6(bool) Load 8(b)
64: 9(int) Select 61 63 62
65: 9(int) IAdd 60 64
Store 58(i) 65
72: 69(fvec2) Load 71(u_f2)
73: 66(ivec2) ConvertFToS 72
74: 23(bvec2) Load 25(b2)
77: 66(ivec2) Select 74 76 75
78: 66(ivec2) IAdd 73 77
Store 68(i2) 78
85: 82(fvec3) Load 84(u_f3)
86: 79(ivec3) ConvertFToS 85
87: 31(bvec3) Load 33(b3)
90: 79(ivec3) Select 87 89 88
91: 79(ivec3) IAdd 86 90
Store 81(i3) 91
98: 95(fvec4) Load 97(u_f4)
99: 92(ivec4) ConvertFToS 98
100: 43(bvec4) Load 45(b4)
103: 92(ivec4) Select 100 102 101
104: 92(ivec4) IAdd 99 103
Store 94(i4) 104
107: 9(int) Load 58(i)
108: 16(float) ConvertSToF 107
Store 106(f) 108
111: 66(ivec2) Load 68(i2)
112: 69(fvec2) ConvertSToF 111
Store 110(f2) 112
115: 79(ivec3) Load 81(i3)
116: 82(fvec3) ConvertSToF 115
Store 114(f3) 116
119: 92(ivec4) Load 94(i4)
120: 95(fvec4) ConvertSToF 119
Store 118(f4) 120
121: 9(int) Load 58(i)
122: 16(float) ConvertSToF 121
123: 6(bool) Load 8(b)
125: 16(float) Select 123 124 20
126: 16(float) FAdd 122 125
127: 16(float) Load 106(f)
128: 16(float) FAdd 127 126
Store 106(f) 128
129: 66(ivec2) Load 68(i2)
130: 69(fvec2) ConvertSToF 129
131: 23(bvec2) Load 25(b2)
134: 69(fvec2) Select 131 133 132
135: 69(fvec2) FAdd 130 134
136: 69(fvec2) Load 110(f2)
137: 69(fvec2) FSub 136 135
Store 110(f2) 137
138: 79(ivec3) Load 81(i3)
139: 82(fvec3) ConvertSToF 138
140: 31(bvec3) Load 33(b3)
143: 82(fvec3) Select 140 142 141
144: 82(fvec3) FAdd 139 143
145: 82(fvec3) Load 114(f3)
146: 82(fvec3) FDiv 145 144
Store 114(f3) 146
147: 92(ivec4) Load 94(i4)
148: 95(fvec4) ConvertSToF 147
149: 43(bvec4) Load 45(b4)
152: 95(fvec4) Select 149 151 150
153: 95(fvec4) FAdd 148 152
154: 95(fvec4) Load 118(f4)
155: 95(fvec4) FAdd 154 153
Store 118(f4) 155
158: 92(ivec4) Load 157(i_i4)
161: 43(bvec4) INotEqual 158 160
162: 95(fvec4) Select 161 151 150
163: 95(fvec4) Load 118(f4)
164: 95(fvec4) FAdd 163 162
Store 118(f4) 164
165: 95(fvec4) Load 97(u_f4)
166: 43(bvec4) FOrdNotEqual 165 150
167: 95(fvec4) Select 166 151 150
168: 95(fvec4) Load 118(f4)
169: 95(fvec4) FAdd 168 167
Store 118(f4) 169
170: 16(float) Load 106(f)
171: 9(int) Load 58(i)
172: 16(float) ConvertSToF 171
173: 16(float) FSub 170 172
174: 16(float) Load 106(f)
175: 16(float) FAdd 174 173
Store 106(f) 175
176: 16(float) Load 106(f)
177: 9(int) Load 58(i)
178: 16(float) ConvertSToF 177
179: 69(fvec2) CompositeConstruct 176 178
180: 66(ivec2) Load 68(i2)
181: 69(fvec2) ConvertSToF 180
182: 69(fvec2) FAdd 179 181
183: 69(fvec2) Load 110(f2)
184: 69(fvec2) FAdd 183 182
Store 110(f2) 184
185: 79(ivec3) Load 81(i3)
186: 82(fvec3) ConvertSToF 185
187: 16(float) Load 106(f)
188: 9(int) Load 58(i)
189: 16(float) ConvertSToF 188
190: 16(float) Load 106(f)
191: 82(fvec3) CompositeConstruct 187 189 190
192: 82(fvec3) FAdd 186 191
193: 82(fvec3) Load 114(f3)
194: 82(fvec3) FAdd 193 192
Store 114(f3) 194
195: 6(bool) Load 8(b)
196: 16(float) Select 195 124 20
197: 9(int) Load 58(i)
198: 16(float) ConvertSToF 197
199: 16(float) Load 106(f)
200: 9(int) Load 58(i)
201: 16(float) ConvertSToF 200
202: 95(fvec4) CompositeConstruct 196 198 199 201
203: 92(ivec4) Load 94(i4)
204: 95(fvec4) ConvertSToF 203
205: 95(fvec4) FAdd 202 204
206: 95(fvec4) Load 118(f4)
207: 95(fvec4) FAdd 206 205
Store 118(f4) 207
208: 16(float) Load 106(f)
209: 9(int) Load 58(i)
210: 16(float) ConvertSToF 209
211: 69(fvec2) CompositeConstruct 208 210
212: 9(int) Load 58(i)
213: 16(float) ConvertSToF 212
214: 69(fvec2) VectorTimesScalar 211 213
215: 69(fvec2) Load 110(f2)
216: 69(fvec2) FAdd 215 214
Store 110(f2) 216
217: 16(float) Load 106(f)
218: 9(int) Load 58(i)
219: 16(float) ConvertSToF 218
220: 16(float) Load 106(f)
221: 82(fvec3) CompositeConstruct 217 219 220
222: 9(int) Load 58(i)
223: 16(float) ConvertSToF 222
224: 82(fvec3) CompositeConstruct 223 223 223
225: 82(fvec3) FAdd 221 224
226: 82(fvec3) Load 114(f3)
227: 82(fvec3) FAdd 226 225
Store 114(f3) 227
228: 9(int) Load 58(i)
229: 16(float) ConvertSToF 228
230: 6(bool) Load 8(b)
231: 16(float) Select 230 124 20
232: 9(int) Load 58(i)
233: 16(float) ConvertSToF 232
234: 16(float) Load 106(f)
235: 9(int) Load 58(i)
236: 16(float) ConvertSToF 235
237: 95(fvec4) CompositeConstruct 231 233 234 236
238: 95(fvec4) CompositeConstruct 229 229 229 229
239: 95(fvec4) FSub 238 237
240: 95(fvec4) Load 118(f4)
241: 95(fvec4) FAdd 240 239
Store 118(f4) 241
242: 16(float) Load 106(f)
243: 9(int) ConvertFToS 242
244: 9(int) Load 58(i)
245: 66(ivec2) CompositeConstruct 243 244
246: 66(ivec2) Load 68(i2)
247: 66(ivec2) IAdd 246 245
Store 68(i2) 247
248: 16(float) Load 106(f)
249: 9(int) ConvertFToS 248
250: 9(int) Load 58(i)
251: 16(float) Load 106(f)
252: 9(int) ConvertFToS 251
253: 79(ivec3) CompositeConstruct 249 250 252
254: 79(ivec3) Load 81(i3)
255: 79(ivec3) IAdd 254 253
Store 81(i3) 255
256: 6(bool) Load 8(b)
257: 9(int) Select 256 63 62
258: 9(int) Load 58(i)
259: 16(float) Load 106(f)
260: 9(int) ConvertFToS 259
261: 9(int) Load 58(i)
262: 92(ivec4) CompositeConstruct 257 258 260 261
263: 92(ivec4) Load 94(i4)
264: 92(ivec4) IAdd 263 262
Store 94(i4) 264
265: 16(float) Load 106(f)
266: 9(int) Load 58(i)
267: 16(float) ConvertSToF 266
268: 6(bool) FOrdLessThan 265 267
269: 9(int) Load 58(i)
270: 16(float) ConvertSToF 269
271: 16(float) Load 106(f)
272: 6(bool) FOrdLessThan 270 271
273: 6(bool) LogicalOr 268 272
274: 69(fvec2) Load 110(f2)
275: 66(ivec2) Load 68(i2)
276: 69(fvec2) ConvertSToF 275
277: 23(bvec2) FOrdEqual 274 276
278: 6(bool) All 277
279: 6(bool) LogicalOr 273 278
280: 79(ivec3) Load 81(i3)
281: 82(fvec3) ConvertSToF 280
282: 82(fvec3) Load 114(f3)
283: 31(bvec3) FOrdNotEqual 281 282
284: 6(bool) Any 283
285: 6(bool) LogicalOr 279 284
SelectionMerge 287 None
BranchConditional 285 286 287
286: Label
289: 6(bool) Load 8(b)
SelectionMerge 291 None
BranchConditional 289 290 294
290: Label
292: 9(int) Load 58(i)
293: 16(float) ConvertSToF 292
Store 288 293
Branch 291
294: Label
295: 69(fvec2) Load 110(f2)
296: 16(float) CompositeExtract 295 0
Store 288 296
Branch 291
291: Label
297: 16(float) Load 288
299: 23(bvec2) Load 25(b2)
300: 6(bool) CompositeExtract 299 0
SelectionMerge 302 None
BranchConditional 300 301 305
301: Label
303: 82(fvec3) Load 114(f3)
304: 16(float) CompositeExtract 303 0
Store 298 304
Branch 302
305: Label
306: 66(ivec2) Load 68(i2)
307: 9(int) CompositeExtract 306 1
308: 16(float) ConvertSToF 307
Store 298 308
Branch 302
302: Label
309: 16(float) Load 298
310: 16(float) FAdd 297 309
Store 106(f) 310
Branch 287
287: Label
314: 6(bool) Load 8(b)
315: 23(bvec2) Load 25(b2)
316: 6(bool) CompositeExtract 315 0
317: 6(bool) LogicalOr 314 316
318: 23(bvec2) Load 25(b2)
319: 6(bool) CompositeExtract 318 1
320: 6(bool) LogicalOr 317 319
321: 31(bvec3) Load 33(b3)
322: 6(bool) CompositeExtract 321 0
323: 6(bool) LogicalOr 320 322
324: 31(bvec3) Load 33(b3)
325: 6(bool) CompositeExtract 324 1
326: 6(bool) LogicalOr 323 325
327: 31(bvec3) Load 33(b3)
328: 6(bool) CompositeExtract 327 2
329: 6(bool) LogicalOr 326 328
330: 43(bvec4) Load 45(b4)
331: 6(bool) CompositeExtract 330 0
332: 6(bool) LogicalOr 329 331
333: 43(bvec4) Load 45(b4)
334: 6(bool) CompositeExtract 333 1
335: 6(bool) LogicalOr 332 334
336: 43(bvec4) Load 45(b4)
337: 6(bool) CompositeExtract 336 2
338: 6(bool) LogicalOr 335 337
339: 43(bvec4) Load 45(b4)
340: 6(bool) CompositeExtract 339 3
341: 6(bool) LogicalOr 338 340
SelectionMerge 343 None
BranchConditional 341 342 403
342: Label
344: 9(int) Load 58(i)
345: 66(ivec2) Load 68(i2)
346: 9(int) CompositeExtract 345 0
347: 9(int) IAdd 344 346
348: 66(ivec2) Load 68(i2)
349: 9(int) CompositeExtract 348 1
350: 9(int) IAdd 347 349
351: 79(ivec3) Load 81(i3)
352: 9(int) CompositeExtract 351 0
353: 9(int) IAdd 350 352
354: 79(ivec3) Load 81(i3)
355: 9(int) CompositeExtract 354 1
356: 9(int) IAdd 353 355
357: 79(ivec3) Load 81(i3)
358: 9(int) CompositeExtract 357 2
359: 9(int) IAdd 356 358
360: 92(ivec4) Load 94(i4)
361: 9(int) CompositeExtract 360 0
362: 9(int) IAdd 359 361
363: 92(ivec4) Load 94(i4)
364: 9(int) CompositeExtract 363 1
365: 9(int) IAdd 362 364
366: 92(ivec4) Load 94(i4)
367: 9(int) CompositeExtract 366 2
368: 9(int) IAdd 365 367
369: 92(ivec4) Load 94(i4)
370: 9(int) CompositeExtract 369 3
371: 9(int) IAdd 368 370
372: 16(float) ConvertSToF 371
373: 16(float) Load 106(f)
374: 16(float) FAdd 372 373
375: 69(fvec2) Load 110(f2)
376: 16(float) CompositeExtract 375 0
377: 16(float) FAdd 374 376
378: 69(fvec2) Load 110(f2)
379: 16(float) CompositeExtract 378 1
380: 16(float) FAdd 377 379
381: 82(fvec3) Load 114(f3)
382: 16(float) CompositeExtract 381 0
383: 16(float) FAdd 380 382
384: 82(fvec3) Load 114(f3)
385: 16(float) CompositeExtract 384 1
386: 16(float) FAdd 383 385
387: 82(fvec3) Load 114(f3)
388: 16(float) CompositeExtract 387 2
389: 16(float) FAdd 386 388
390: 95(fvec4) Load 118(f4)
391: 16(float) CompositeExtract 390 0
392: 16(float) FAdd 389 391
393: 95(fvec4) Load 118(f4)
394: 16(float) CompositeExtract 393 1
395: 16(float) FAdd 392 394
396: 95(fvec4) Load 118(f4)
397: 16(float) CompositeExtract 396 2
398: 16(float) FAdd 395 397
399: 95(fvec4) Load 118(f4)
400: 16(float) CompositeExtract 399 3
401: 16(float) FAdd 398 400
402: 95(fvec4) CompositeConstruct 401 401 401 401
Store 313 402
Branch 343
403: Label
Store 313 151
Branch 343
343: Label
404: 95(fvec4) Load 313
Store 312(gl_FragColor) 404
Store 405(cv2) 102
407: 92(ivec4) Load 405(cv2)
408: 43(bvec4) INotEqual 407 160
Store 406(cv5) 408
409: 43(bvec4) Load 406(cv5)
410: 95(fvec4) Select 409 151 150
411: 16(float) CompositeExtract 410 0
412: 95(fvec4) Load 312(gl_FragColor)
413: 95(fvec4) CompositeConstruct 411 411 411 411
414: 95(fvec4) FAdd 412 413
Store 312(gl_FragColor) 414
Return
FunctionEnd