blob: cd039362192ec230a4ca679d4bea2c457aed75c5 [file] [log] [blame]
spv.switch.frag
Warning, version 310 is not yet complete; most version-specific features are present, but some are missing.
WARNING: 0:121: 'switch' : last case/default label not followed by statements
WARNING: 0:134: 'switch' : last case/default label not followed by statements
WARNING: 0:139: 'switch' : last case/default label not followed by statements
Linked fragment stage:
// Module Version 99
// Generated by (magic number): 51a00bb
// Id's are bound by 261
Source ESSL 310
Capability Shader
1: ExtInstImport "GLSL.std.450"
MemoryModel Logical GLSL450
EntryPoint Fragment 4 "main"
ExecutionMode 4 OriginLowerLeft
Name 4 "main"
Name 16 "foo1(vf4;vf4;i1;"
Name 13 "v1"
Name 14 "v2"
Name 15 "i1"
Name 21 "foo2(vf4;vf4;i1;"
Name 18 "v1"
Name 19 "v2"
Name 20 "i1"
Name 59 "local"
Name 61 "c"
Name 72 "f"
Name 74 "x"
Name 128 "d"
Name 154 "i"
Name 172 "j"
Name 222 "color"
Name 228 "v"
Name 229 "param"
Name 231 "param"
Name 233 "param"
Name 239 "param"
Name 241 "param"
Name 243 "param"
Decorate 59(local) RelaxedPrecision
Decorate 61(c) RelaxedPrecision
Decorate 72(f) RelaxedPrecision
Decorate 74(x) RelaxedPrecision
Decorate 74(x) Smooth
Decorate 128(d) RelaxedPrecision
Decorate 154(i) RelaxedPrecision
Decorate 172(j) RelaxedPrecision
Decorate 222(color) RelaxedPrecision
Decorate 228(v) RelaxedPrecision
2: TypeVoid
3: TypeFunction 2
7: TypeFloat 32
8: TypeVector 7(float) 4
9: TypePointer Function 8(fvec4)
10: TypeInt 32 1
11: TypePointer Function 10(int)
12: TypeFunction 8(fvec4) 9(ptr) 9(ptr) 11(ptr)
37: 7(float) Constant 0
38: 8(fvec4) ConstantComposite 37 37 37 37
48: 7(float) Constant 1065353216
49: 8(fvec4) ConstantComposite 48 48 48 48
60: TypePointer UniformConstant 10(int)
61(c): 60(ptr) Variable UniformConstant
64: 10(int) Constant 1
71: TypePointer Function 7(float)
73: TypePointer Input 7(float)
74(x): 73(ptr) Variable Input
128(d): 60(ptr) Variable UniformConstant
155: 10(int) Constant 0
160: 10(int) Constant 10
161: TypeBool
173: 10(int) Constant 20
178: 10(int) Constant 30
183: 7(float) Constant 1120429670
203: 7(float) Constant 1079739679
221: TypePointer Output 7(float)
222(color): 221(ptr) Variable Output
227: TypePointer UniformConstant 8(fvec4)
228(v): 227(ptr) Variable UniformConstant
4(main): 2 Function None 3
5: Label
59(local): 11(ptr) Variable Function
72(f): 71(ptr) Variable Function
154(i): 11(ptr) Variable Function
172(j): 11(ptr) Variable Function
229(param): 9(ptr) Variable Function
231(param): 9(ptr) Variable Function
233(param): 11(ptr) Variable Function
239(param): 9(ptr) Variable Function
241(param): 9(ptr) Variable Function
243(param): 11(ptr) Variable Function
62: 10(int) Load 61(c)
Store 59(local) 62
63: 10(int) Load 59(local)
65: 10(int) IAdd 63 64
Store 59(local) 65
66: 10(int) Load 61(c)
SelectionMerge 70 None
Switch 66 69
case 1: 67
case 2: 68
67: Label
75: 7(float) Load 74(x)
76: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 75
Store 72(f) 76
Branch 70
68: Label
78: 7(float) Load 74(x)
79: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 78
Store 72(f) 79
Branch 70
69: Label
81: 7(float) Load 74(x)
82: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 81
Store 72(f) 82
Branch 70
70: Label
84: 10(int) Load 61(c)
SelectionMerge 88 None
Switch 84 87
case 1: 85
case 2: 86
85: Label
89: 7(float) Load 74(x)
90: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 89
91: 7(float) Load 72(f)
92: 7(float) FAdd 91 90
Store 72(f) 92
Branch 86
86: Label
93: 7(float) Load 74(x)
94: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 93
95: 7(float) Load 72(f)
96: 7(float) FAdd 95 94
Store 72(f) 96
Branch 88
87: Label
98: 7(float) Load 74(x)
99: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 98
100: 7(float) Load 72(f)
101: 7(float) FAdd 100 99
Store 72(f) 101
Branch 88
88: Label
103: 10(int) Load 61(c)
SelectionMerge 106 None
Switch 103 106
case 1: 104
case 2: 105
104: Label
107: 7(float) Load 74(x)
108: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 107
109: 7(float) Load 72(f)
110: 7(float) FAdd 109 108
Store 72(f) 110
Branch 106
105: Label
112: 7(float) Load 74(x)
113: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 112
114: 7(float) Load 72(f)
115: 7(float) FAdd 114 113
Store 72(f) 115
Branch 106
106: Label
118: 10(int) Load 61(c)
SelectionMerge 122 None
Switch 118 121
case 1: 119
case 2: 120
119: Label
123: 7(float) Load 74(x)
124: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 123
125: 7(float) Load 72(f)
126: 7(float) FAdd 125 124
Store 72(f) 126
Branch 122
120: Label
129: 10(int) Load 128(d)
SelectionMerge 132 None
Switch 129 132
case 1: 130
case 2: 131
130: Label
133: 7(float) Load 74(x)
134: 7(float) Load 74(x)
135: 7(float) FMul 133 134
136: 7(float) Load 74(x)
137: 7(float) FMul 135 136
138: 7(float) Load 72(f)
139: 7(float) FAdd 138 137
Store 72(f) 139
Branch 132
131: Label
141: 7(float) Load 74(x)
142: 7(float) Load 74(x)
143: 7(float) FMul 141 142
144: 7(float) Load 72(f)
145: 7(float) FAdd 144 143
Store 72(f) 145
Branch 132
132: Label
Branch 122
121: Label
149: 7(float) Load 74(x)
150: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 149
151: 7(float) Load 72(f)
152: 7(float) FAdd 151 150
Store 72(f) 152
Branch 122
122: Label
Store 154(i) 155
Branch 156
156: Label
159: 10(int) Load 154(i)
162: 161(bool) SLessThan 159 160
LoopMerge 157 None
BranchConditional 162 158 157
158: Label
163: 10(int) Load 61(c)
SelectionMerge 167 None
Switch 163 166
case 1: 164
case 2: 165
164: Label
168: 7(float) Load 74(x)
169: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 168
170: 7(float) Load 72(f)
171: 7(float) FAdd 170 169
Store 72(f) 171
Store 172(j) 173
Branch 174
174: Label
177: 10(int) Load 172(j)
179: 161(bool) SLessThan 177 178
LoopMerge 175 None
BranchConditional 179 176 175
176: Label
180: 7(float) Load 72(f)
181: 7(float) FAdd 180 48
Store 72(f) 181
182: 7(float) Load 72(f)
184: 161(bool) FOrdLessThan 182 183
SelectionMerge 186 None
BranchConditional 184 185 186
185: Label
Branch 175
186: Label
188: 10(int) Load 172(j)
189: 10(int) IAdd 188 64
Store 172(j) 189
Branch 174
175: Label
Branch 167
165: Label
191: 7(float) Load 74(x)
192: 7(float) ExtInst 1(GLSL.std.450) 14(Cos) 191
193: 7(float) Load 72(f)
194: 7(float) FAdd 193 192
Store 72(f) 194
Branch 167
166: Label
197: 7(float) Load 74(x)
198: 7(float) ExtInst 1(GLSL.std.450) 15(Tan) 197
199: 7(float) Load 72(f)
200: 7(float) FAdd 199 198
Store 72(f) 200
Branch 167
167: Label
202: 7(float) Load 72(f)
204: 161(bool) FOrdLessThan 202 203
SelectionMerge 206 None
BranchConditional 204 205 206
205: Label
Branch 157
206: Label
208: 10(int) Load 154(i)
209: 10(int) IAdd 208 64
Store 154(i) 209
Branch 156
157: Label
210: 10(int) Load 61(c)
SelectionMerge 213 None
Switch 210 213
case 1: 211
case 2: 212
211: Label
214: 7(float) Load 74(x)
215: 7(float) ExtInst 1(GLSL.std.450) 13(Sin) 214
216: 7(float) Load 72(f)
217: 7(float) FAdd 216 215
Store 72(f) 217
Branch 213
212: Label
Branch 213
213: Label
223: 7(float) Load 72(f)
224: 10(int) Load 59(local)
225: 7(float) ConvertSToF 224
226: 7(float) FAdd 223 225
Store 222(color) 226
230: 8(fvec4) Load 228(v)
Store 229(param) 230
232: 8(fvec4) Load 228(v)
Store 231(param) 232
234: 10(int) Load 61(c)
Store 233(param) 234
235: 8(fvec4) FunctionCall 16(foo1(vf4;vf4;i1;) 229(param) 231(param) 233(param)
236: 7(float) CompositeExtract 235 1
237: 7(float) Load 222(color)
238: 7(float) FAdd 237 236
Store 222(color) 238
240: 8(fvec4) Load 228(v)
Store 239(param) 240
242: 8(fvec4) Load 228(v)
Store 241(param) 242
244: 10(int) Load 61(c)
Store 243(param) 244
245: 8(fvec4) FunctionCall 21(foo2(vf4;vf4;i1;) 239(param) 241(param) 243(param)
246: 7(float) CompositeExtract 245 2
247: 7(float) Load 222(color)
248: 7(float) FAdd 247 246
Store 222(color) 248
249: 10(int) Load 61(c)
SelectionMerge 252 None
Switch 249 251
case 0: 250
250: Label
Branch 252
251: Label
Branch 252
252: Label
256: 10(int) Load 61(c)
SelectionMerge 258 None
Switch 256 257
257: Label
Branch 258
258: Label
Branch 6
6: Label
Return
FunctionEnd
16(foo1(vf4;vf4;i1;): 8(fvec4) Function None 12
13(v1): 9(ptr) FunctionParameter
14(v2): 9(ptr) FunctionParameter
15(i1): 11(ptr) FunctionParameter
17: Label
23: 10(int) Load 15(i1)
SelectionMerge 27 None
Switch 23 27
case 0: 24
case 2: 25
case 1: 25
case 3: 26
24: Label
28: 8(fvec4) Load 13(v1)
ReturnValue 28
25: Label
30: 8(fvec4) Load 14(v2)
ReturnValue 30
26: Label
32: 8(fvec4) Load 13(v1)
33: 8(fvec4) Load 14(v2)
34: 8(fvec4) FMul 32 33
ReturnValue 34
27: Label
ReturnValue 38
FunctionEnd
21(foo2(vf4;vf4;i1;): 8(fvec4) Function None 12
18(v1): 9(ptr) FunctionParameter
19(v2): 9(ptr) FunctionParameter
20(i1): 11(ptr) FunctionParameter
22: Label
40: 10(int) Load 20(i1)
SelectionMerge 45 None
Switch 40 45
case 0: 41
case 2: 42
case 1: 43
case 3: 44
41: Label
46: 8(fvec4) Load 18(v1)
ReturnValue 46
42: Label
ReturnValue 49
43: Label
51: 8(fvec4) Load 19(v2)
ReturnValue 51
44: Label
53: 8(fvec4) Load 18(v1)
54: 8(fvec4) Load 19(v2)
55: 8(fvec4) FMul 53 54
ReturnValue 55
45: Label
ReturnValue 38
FunctionEnd