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 |