blob: e9ea4cf46373fb7b16d196a0bc9305623969b394 [file] [log] [blame]
spv.Operations.frag
Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 416
Source GLSL 130
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 9 "v"
Name 11 "uv4"
Name 20 "i"
Name 22 "ui"
Name 169 "uf"
Name 216 "b"
Name 250 "ub41"
Name 252 "ub42"
Name 316 "f"
Name 395 "gl_FragColor"
Name 413 "uiv4"
Name 415 "ub"
Decorate 395(gl_FragColor) BuiltIn FragColor
Decorate 413(uiv4) NoStaticUse
Decorate 415(ub) NoStaticUse
2: TypeVoid
3: TypeFunction 2
6: TypeFloat 32
7: TypeVector 6(float) 4
8: TypePointer Function 7(fvec4)
10: TypePointer UniformConstant 7(fvec4)
11(uv4): 10(ptr) Variable UniformConstant
18: TypeInt 32 1
19: TypePointer Function 18(int)
21: TypePointer UniformConstant 18(int)
22(ui): 21(ptr) Variable UniformConstant
168: TypePointer UniformConstant 6(float)
169(uf): 168(ptr) Variable UniformConstant
214: TypeBool
215: TypePointer Function 214(bool)
219: TypeVector 214(bool) 4
249: TypePointer UniformConstant 219(bvec4)
250(ub41): 249(ptr) Variable UniformConstant
252(ub42): 249(ptr) Variable UniformConstant
306: 18(int) Constant 2
313: 18(int) Constant 1
315: TypePointer Function 6(float)
345: TypeVector 6(float) 3
364: 6(float) Constant 1073741824
371: 6(float) Constant 1065353216
376: 18(int) Constant 66
382: 18(int) Constant 17
394: TypePointer Output 7(fvec4)
395(gl_FragColor): 394(ptr) Variable Output
411: TypeVector 18(int) 4
412: TypePointer UniformConstant 411(ivec4)
413(uiv4): 412(ptr) Variable UniformConstant
414: TypePointer UniformConstant 214(bool)
415(ub): 414(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
9(v): 8(ptr) Variable Function
20(i): 19(ptr) Variable Function
216(b): 215(ptr) Variable Function
316(f): 315(ptr) Variable Function
396: 8(ptr) Variable Function
12: 7(fvec4) Load 11(uv4)
13: 7(fvec4) ExtInst 1(GLSL.std.450) 11(Radians) 12
Store 9(v) 13
14: 7(fvec4) Load 9(v)
15: 7(fvec4) ExtInst 1(GLSL.std.450) 12(Degrees) 14
16: 7(fvec4) Load 9(v)
17: 7(fvec4) FAdd 16 15
Store 9(v) 17
23: 18(int) Load 22(ui)
24: 18(int) Load 22(ui)
25: 18(int) IMul 23 24
Store 20(i) 25
26: 7(fvec4) Load 9(v)
27: 7(fvec4) ExtInst 1(GLSL.std.450) 13(Sin) 26
28: 7(fvec4) Load 9(v)
29: 7(fvec4) FAdd 28 27
Store 9(v) 29
30: 7(fvec4) Load 9(v)
31: 7(fvec4) ExtInst 1(GLSL.std.450) 14(Cos) 30
32: 7(fvec4) Load 9(v)
33: 7(fvec4) FAdd 32 31
Store 9(v) 33
34: 7(fvec4) Load 9(v)
35: 7(fvec4) ExtInst 1(GLSL.std.450) 15(Tan) 34
36: 7(fvec4) Load 9(v)
37: 7(fvec4) FAdd 36 35
Store 9(v) 37
38: 7(fvec4) Load 9(v)
39: 7(fvec4) ExtInst 1(GLSL.std.450) 16(Asin) 38
40: 7(fvec4) Load 9(v)
41: 7(fvec4) FAdd 40 39
Store 9(v) 41
42: 7(fvec4) Load 9(v)
43: 7(fvec4) ExtInst 1(GLSL.std.450) 17(Acos) 42
44: 7(fvec4) Load 9(v)
45: 7(fvec4) FAdd 44 43
Store 9(v) 45
46: 7(fvec4) Load 9(v)
47: 7(fvec4) ExtInst 1(GLSL.std.450) 18(Atan) 46
48: 7(fvec4) Load 9(v)
49: 7(fvec4) FAdd 48 47
Store 9(v) 49
50: 7(fvec4) Load 9(v)
51: 7(fvec4) ExtInst 1(GLSL.std.450) 19(Sinh) 50
52: 7(fvec4) Load 9(v)
53: 7(fvec4) FAdd 52 51
Store 9(v) 53
54: 7(fvec4) Load 9(v)
55: 7(fvec4) ExtInst 1(GLSL.std.450) 20(Cosh) 54
56: 7(fvec4) Load 9(v)
57: 7(fvec4) FAdd 56 55
Store 9(v) 57
58: 7(fvec4) Load 9(v)
59: 7(fvec4) ExtInst 1(GLSL.std.450) 21(Tanh) 58
60: 7(fvec4) Load 9(v)
61: 7(fvec4) FAdd 60 59
Store 9(v) 61
62: 7(fvec4) Load 9(v)
63: 7(fvec4) ExtInst 1(GLSL.std.450) 22(Asinh) 62
64: 7(fvec4) Load 9(v)
65: 7(fvec4) FAdd 64 63
Store 9(v) 65
66: 7(fvec4) Load 9(v)
67: 7(fvec4) ExtInst 1(GLSL.std.450) 23(Acosh) 66
68: 7(fvec4) Load 9(v)
69: 7(fvec4) FAdd 68 67
Store 9(v) 69
70: 7(fvec4) Load 9(v)
71: 7(fvec4) ExtInst 1(GLSL.std.450) 24(Atanh) 70
72: 7(fvec4) Load 9(v)
73: 7(fvec4) FAdd 72 71
Store 9(v) 73
74: 7(fvec4) Load 9(v)
75: 7(fvec4) Load 9(v)
76: 7(fvec4) ExtInst 1(GLSL.std.450) 26(Pow) 74 75
77: 7(fvec4) Load 9(v)
78: 7(fvec4) FAdd 77 76
Store 9(v) 78
79: 7(fvec4) Load 9(v)
80: 7(fvec4) ExtInst 1(GLSL.std.450) 27(Exp) 79
81: 7(fvec4) Load 9(v)
82: 7(fvec4) FAdd 81 80
Store 9(v) 82
83: 7(fvec4) Load 9(v)
84: 7(fvec4) ExtInst 1(GLSL.std.450) 28(Log) 83
85: 7(fvec4) Load 9(v)
86: 7(fvec4) FAdd 85 84
Store 9(v) 86
87: 7(fvec4) Load 9(v)
88: 7(fvec4) ExtInst 1(GLSL.std.450) 29(Exp2) 87
89: 7(fvec4) Load 9(v)
90: 7(fvec4) FAdd 89 88
Store 9(v) 90
91: 7(fvec4) Load 9(v)
92: 7(fvec4) ExtInst 1(GLSL.std.450) 30(Log2) 91
93: 7(fvec4) Load 9(v)
94: 7(fvec4) FAdd 93 92
Store 9(v) 94
95: 7(fvec4) Load 9(v)
96: 7(fvec4) ExtInst 1(GLSL.std.450) 31(Sqrt) 95
97: 7(fvec4) Load 9(v)
98: 7(fvec4) FAdd 97 96
Store 9(v) 98
99: 7(fvec4) Load 9(v)
100: 7(fvec4) ExtInst 1(GLSL.std.450) 32(Inversesqrt) 99
101: 7(fvec4) Load 9(v)
102: 7(fvec4) FAdd 101 100
Store 9(v) 102
103: 7(fvec4) Load 9(v)
104: 7(fvec4) ExtInst 1(GLSL.std.450) 4(FAbs) 103
105: 7(fvec4) Load 9(v)
106: 7(fvec4) FAdd 105 104
Store 9(v) 106
107: 7(fvec4) Load 9(v)
108: 7(fvec4) ExtInst 1(GLSL.std.450) 6(FSign) 107
109: 7(fvec4) Load 9(v)
110: 7(fvec4) FAdd 109 108
Store 9(v) 110
111: 7(fvec4) Load 9(v)
112: 7(fvec4) ExtInst 1(GLSL.std.450) 8(Floor) 111
113: 7(fvec4) Load 9(v)
114: 7(fvec4) FAdd 113 112
Store 9(v) 114
115: 7(fvec4) Load 9(v)
116: 7(fvec4) ExtInst 1(GLSL.std.450) 9(Ceil) 115
117: 7(fvec4) Load 9(v)
118: 7(fvec4) FAdd 117 116
Store 9(v) 118
119: 7(fvec4) Load 9(v)
120: 7(fvec4) ExtInst 1(GLSL.std.450) 10(Fract) 119
121: 7(fvec4) Load 9(v)
122: 7(fvec4) FAdd 121 120
Store 9(v) 122
123: 7(fvec4) Load 9(v)
124: 7(fvec4) Load 9(v)
125: 7(fvec4) FMod 123 124
126: 7(fvec4) Load 9(v)
127: 7(fvec4) FAdd 126 125
Store 9(v) 127
128: 7(fvec4) Load 9(v)
129: 7(fvec4) Load 9(v)
130: 6(float) CompositeExtract 129 0
131: 7(fvec4) CompositeConstruct 130 130 130 130
132: 7(fvec4) FMod 128 131
133: 7(fvec4) Load 9(v)
134: 7(fvec4) FAdd 133 132
Store 9(v) 134
135: 7(fvec4) Load 9(v)
136: 7(fvec4) Load 11(uv4)
137: 7(fvec4) ExtInst 1(GLSL.std.450) 37(FMin) 135 136
138: 7(fvec4) Load 9(v)
139: 7(fvec4) FAdd 138 137
Store 9(v) 139
140: 7(fvec4) Load 9(v)
141: 7(fvec4) Load 11(uv4)
142: 7(fvec4) ExtInst 1(GLSL.std.450) 40(FMax) 140 141
143: 7(fvec4) Load 9(v)
144: 7(fvec4) FAdd 143 142
Store 9(v) 144
145: 7(fvec4) Load 9(v)
146: 7(fvec4) Load 11(uv4)
147: 7(fvec4) Load 11(uv4)
148: 7(fvec4) ExtInst 1(GLSL.std.450) 43(FClamp) 145 146 147
149: 7(fvec4) Load 9(v)
150: 7(fvec4) FAdd 149 148
Store 9(v) 150
151: 7(fvec4) Load 9(v)
152: 7(fvec4) Load 9(v)
153: 7(fvec4) Load 9(v)
154: 7(fvec4) ExtInst 1(GLSL.std.450) 46(Mix) 151 152 153
155: 7(fvec4) Load 9(v)
156: 7(fvec4) FAdd 155 154
Store 9(v) 156
157: 7(fvec4) Load 9(v)
158: 7(fvec4) Load 9(v)
159: 7(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 157 158
160: 7(fvec4) Load 9(v)
161: 7(fvec4) FAdd 160 159
Store 9(v) 161
162: 7(fvec4) Load 9(v)
163: 7(fvec4) Load 9(v)
164: 7(fvec4) Load 9(v)
165: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 162 163 164
166: 7(fvec4) Load 9(v)
167: 7(fvec4) FAdd 166 165
Store 9(v) 167
170: 6(float) Load 169(uf)
171: 7(fvec4) Load 9(v)
172: 7(fvec4) ExtInst 1(GLSL.std.450) 47(Step) 170 171
173: 7(fvec4) Load 9(v)
174: 7(fvec4) FAdd 173 172
Store 9(v) 174
175: 6(float) Load 169(uf)
176: 6(float) Load 169(uf)
177: 7(fvec4) Load 9(v)
178: 7(fvec4) ExtInst 1(GLSL.std.450) 48(Smoothstep) 175 176 177
179: 7(fvec4) Load 9(v)
180: 7(fvec4) FAdd 179 178
Store 9(v) 180
181: 7(fvec4) Load 9(v)
182: 7(fvec4) ExtInst 1(GLSL.std.450) 68(Normalize) 181
183: 7(fvec4) Load 9(v)
184: 7(fvec4) FAdd 183 182
Store 9(v) 184
185: 7(fvec4) Load 9(v)
186: 7(fvec4) Load 9(v)
187: 7(fvec4) Load 9(v)
188: 7(fvec4) ExtInst 1(GLSL.std.450) 69(Faceforward) 185 186 187
189: 7(fvec4) Load 9(v)
190: 7(fvec4) FAdd 189 188
Store 9(v) 190
191: 7(fvec4) Load 9(v)
192: 7(fvec4) Load 9(v)
193: 7(fvec4) ExtInst 1(GLSL.std.450) 70(Reflect) 191 192
194: 7(fvec4) Load 9(v)
195: 7(fvec4) FAdd 194 193
Store 9(v) 195
196: 7(fvec4) Load 9(v)
197: 7(fvec4) Load 9(v)
198: 6(float) Load 169(uf)
199: 7(fvec4) ExtInst 1(GLSL.std.450) 71(Refract) 196 197 198
200: 7(fvec4) Load 9(v)
201: 7(fvec4) FAdd 200 199
Store 9(v) 201
202: 7(fvec4) Load 9(v)
203: 7(fvec4) DPdx 202
204: 7(fvec4) Load 9(v)
205: 7(fvec4) FAdd 204 203
Store 9(v) 205
206: 7(fvec4) Load 9(v)
207: 7(fvec4) DPdy 206
208: 7(fvec4) Load 9(v)
209: 7(fvec4) FAdd 208 207
Store 9(v) 209
210: 7(fvec4) Load 9(v)
211: 7(fvec4) Fwidth 210
212: 7(fvec4) Load 9(v)
213: 7(fvec4) FAdd 212 211
Store 9(v) 213
217: 7(fvec4) Load 9(v)
218: 7(fvec4) Load 11(uv4)
220: 219(bvec4) FOrdLessThan 217 218
221: 214(bool) Any 220
Store 216(b) 221
222: 214(bool) Load 216(b)
SelectionMerge 224 None
BranchConditional 222 223 224
223: Label
225: 7(fvec4) Load 9(v)
226: 7(fvec4) Load 11(uv4)
227: 219(bvec4) FOrdLessThanEqual 225 226
228: 214(bool) Any 227
Branch 224
224: Label
229: 214(bool) Phi 222 5 228 223
Store 216(b) 229
230: 214(bool) Load 216(b)
SelectionMerge 232 None
BranchConditional 230 231 232
231: Label
233: 7(fvec4) Load 9(v)
234: 7(fvec4) Load 11(uv4)
235: 219(bvec4) FOrdGreaterThan 233 234
236: 214(bool) Any 235
Branch 232
232: Label
237: 214(bool) Phi 230 224 236 231
Store 216(b) 237
238: 214(bool) Load 216(b)
SelectionMerge 240 None
BranchConditional 238 239 240
239: Label
241: 7(fvec4) Load 9(v)
242: 7(fvec4) Load 11(uv4)
243: 219(bvec4) FOrdGreaterThanEqual 241 242
244: 214(bool) Any 243
Branch 240
240: Label
245: 214(bool) Phi 238 232 244 239
Store 216(b) 245
246: 214(bool) Load 216(b)
SelectionMerge 248 None
BranchConditional 246 247 248
247: Label
251: 219(bvec4) Load 250(ub41)
253: 219(bvec4) Load 252(ub42)
254: 219(bvec4) IEqual 251 253
255: 214(bool) Any 254
Branch 248
248: Label
256: 214(bool) Phi 246 240 255 247
Store 216(b) 256
257: 214(bool) Load 216(b)
SelectionMerge 259 None
BranchConditional 257 258 259
258: Label
260: 219(bvec4) Load 250(ub41)
261: 219(bvec4) Load 252(ub42)
262: 219(bvec4) INotEqual 260 261
263: 214(bool) Any 262
Branch 259
259: Label
264: 214(bool) Phi 257 248 263 258
Store 216(b) 264
265: 214(bool) Load 216(b)
266: 219(bvec4) Load 250(ub41)
267: 214(bool) Any 266
268: 214(bool) LogicalAnd 265 267
Store 216(b) 268
269: 214(bool) Load 216(b)
270: 219(bvec4) Load 250(ub41)
271: 214(bool) All 270
272: 214(bool) LogicalAnd 269 271
Store 216(b) 272
273: 214(bool) Load 216(b)
SelectionMerge 275 None
BranchConditional 273 274 275
274: Label
276: 219(bvec4) Load 250(ub41)
277: 219(bvec4) LogicalNot 276
278: 214(bool) Any 277
Branch 275
275: Label
279: 214(bool) Phi 273 259 278 274
Store 216(b) 279
280: 18(int) Load 20(i)
281: 18(int) Load 22(ui)
282: 18(int) IAdd 280 281
283: 18(int) Load 20(i)
284: 18(int) IMul 282 283
285: 18(int) Load 22(ui)
286: 18(int) ISub 284 285
287: 18(int) Load 20(i)
288: 18(int) SDiv 286 287
Store 20(i) 288
289: 18(int) Load 20(i)
290: 18(int) Load 22(ui)
291: 18(int) SMod 289 290
Store 20(i) 291
292: 18(int) Load 20(i)
293: 18(int) Load 22(ui)
294: 214(bool) IEqual 292 293
295: 214(bool) LogicalNot 294
SelectionMerge 297 None
BranchConditional 295 296 297
296: Label
298: 18(int) Load 20(i)
299: 18(int) Load 22(ui)
300: 214(bool) INotEqual 298 299
301: 18(int) Load 20(i)
302: 18(int) Load 22(ui)
303: 214(bool) IEqual 301 302
304: 214(bool) LogicalAnd 300 303
305: 18(int) Load 20(i)
307: 214(bool) INotEqual 305 306
308: 214(bool) LogicalNotEqual 304 307
Branch 297
297: Label
309: 214(bool) Phi 294 275 308 296
SelectionMerge 311 None
BranchConditional 309 310 311
310: Label
312: 18(int) Load 20(i)
314: 18(int) IAdd 312 313
Store 20(i) 314
Branch 311
311: Label
317: 6(float) Load 169(uf)
318: 6(float) Load 169(uf)
319: 6(float) FAdd 317 318
320: 6(float) Load 169(uf)
321: 6(float) FMul 319 320
322: 6(float) Load 169(uf)
323: 6(float) FSub 321 322
324: 6(float) Load 169(uf)
325: 6(float) FDiv 323 324
Store 316(f) 325
326: 7(fvec4) Load 9(v)
327: 6(float) ExtInst 1(GLSL.std.450) 65(Length) 326
328: 6(float) Load 316(f)
329: 6(float) FAdd 328 327
Store 316(f) 329
330: 7(fvec4) Load 9(v)
331: 7(fvec4) Load 9(v)
332: 6(float) ExtInst 1(GLSL.std.450) 66(Distance) 330 331
333: 6(float) Load 316(f)
334: 6(float) FAdd 333 332
Store 316(f) 334
335: 7(fvec4) Load 9(v)
336: 7(fvec4) Load 9(v)
337: 6(float) Dot 335 336
338: 6(float) Load 316(f)
339: 6(float) FAdd 338 337
Store 316(f) 339
340: 6(float) Load 316(f)
341: 6(float) Load 169(uf)
342: 6(float) FMul 340 341
343: 6(float) Load 316(f)
344: 6(float) FAdd 343 342
Store 316(f) 344
346: 7(fvec4) Load 9(v)
347: 345(fvec3) VectorShuffle 346 346 0 1 2
348: 7(fvec4) Load 9(v)
349: 345(fvec3) VectorShuffle 348 348 0 1 2
350: 345(fvec3) ExtInst 1(GLSL.std.450) 67(Cross) 347 349
351: 6(float) CompositeExtract 350 0
352: 6(float) Load 316(f)
353: 6(float) FAdd 352 351
Store 316(f) 353
354: 6(float) Load 316(f)
355: 6(float) Load 169(uf)
356: 214(bool) FOrdEqual 354 355
357: 214(bool) LogicalNot 356
SelectionMerge 359 None
BranchConditional 357 358 359
358: Label
360: 6(float) Load 316(f)
361: 6(float) Load 169(uf)
362: 214(bool) FOrdNotEqual 360 361
363: 6(float) Load 316(f)
365: 214(bool) FOrdNotEqual 363 364
366: 214(bool) LogicalAnd 362 365
Branch 359
359: Label
367: 214(bool) Phi 356 311 366 358
SelectionMerge 369 None
BranchConditional 367 368 369
368: Label
370: 6(float) Load 316(f)
372: 6(float) FAdd 370 371
Store 316(f) 372
Branch 369
369: Label
373: 18(int) Load 22(ui)
374: 18(int) Load 20(i)
375: 18(int) BitwiseAnd 374 373
Store 20(i) 375
377: 18(int) Load 20(i)
378: 18(int) BitwiseOr 377 376
Store 20(i) 378
379: 18(int) Load 22(ui)
380: 18(int) Load 20(i)
381: 18(int) BitwiseXor 380 379
Store 20(i) 381
383: 18(int) Load 20(i)
384: 18(int) SMod 383 382
Store 20(i) 384
385: 18(int) Load 20(i)
386: 18(int) ShiftRightArithmetic 385 306
Store 20(i) 386
387: 18(int) Load 22(ui)
388: 18(int) Load 20(i)
389: 18(int) ShiftLeftLogical 388 387
Store 20(i) 389
390: 18(int) Load 20(i)
391: 18(int) Not 390
Store 20(i) 391
392: 214(bool) Load 216(b)
393: 214(bool) LogicalNot 392
Store 216(b) 393
397: 214(bool) Load 216(b)
SelectionMerge 399 None
BranchConditional 397 398 408
398: Label
400: 18(int) Load 20(i)
401: 6(float) ConvertSToF 400
402: 7(fvec4) CompositeConstruct 401 401 401 401
403: 6(float) Load 316(f)
404: 7(fvec4) CompositeConstruct 403 403 403 403
405: 7(fvec4) FAdd 402 404
406: 7(fvec4) Load 9(v)
407: 7(fvec4) FAdd 405 406
Store 396 407
Branch 399
408: Label
409: 7(fvec4) Load 9(v)
Store 396 409
Branch 399
399: Label
410: 7(fvec4) Load 396
Store 395(gl_FragColor) 410
Return
FunctionEnd