• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1diagnostic(off, derivative_uniformity);
2diagnostic(off, chromium.unreachable_code);
3struct FSOut {
4  @location(0) sk_FragColor: vec4<f32>,
5};
6struct _GlobalUniforms {
7  colorGreen: vec4<f32>,
8  colorRed: vec4<f32>,
9};
10@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms;
11fn return_in_one_case_bi(x: i32) -> bool {
12  {
13    var val: i32 = 0;
14    switch x {
15      case 1 {
16        val = val + i32(1);
17        return false;
18      }
19      case default {
20        val = val + i32(1);
21      }
22    }
23    return val == 1;
24  }
25}
26fn return_in_default_bi(x: i32) -> bool {
27  {
28    switch x {
29      case default {
30        return true;
31      }
32    }
33  }
34}
35fn return_in_every_case_bi(x: i32) -> bool {
36  {
37    switch x {
38      case 1 {
39        return false;
40      }
41      case default {
42        return true;
43      }
44    }
45  }
46}
47fn return_in_every_case_no_default_bi(x: i32) -> bool {
48  {
49    var val: i32 = 0;
50    switch x {
51      case 1 {
52        return false;
53      }
54      case 2 {
55        return true;
56      }
57      case default {}
58    }
59    val = val + i32(1);
60    return val == 1;
61  }
62}
63fn case_has_break_before_return_bi(x: i32) -> bool {
64  {
65    var val: i32 = 0;
66    switch x {
67      case 1 {
68        break;
69      }
70      case 2 {
71        return true;
72      }
73      case default {
74        return true;
75      }
76    }
77    val = val + i32(1);
78    return val == 1;
79  }
80}
81fn case_has_break_after_return_bi(x: i32) -> bool {
82  {
83    switch x {
84      case 1 {
85        return false;
86      }
87      case 2 {
88        return true;
89      }
90      case default {
91        return true;
92      }
93    }
94  }
95}
96fn no_return_in_default_bi(x: i32) -> bool {
97  {
98    var val: i32 = 0;
99    switch x {
100      case 1 {
101        return false;
102      }
103      case 2 {
104        return true;
105      }
106      case default {
107        break;
108      }
109    }
110    val = val + i32(1);
111    return val == 1;
112  }
113}
114fn empty_default_bi(x: i32) -> bool {
115  {
116    var val: i32 = 0;
117    switch x {
118      case 1 {
119        return false;
120      }
121      case 2 {
122        return true;
123      }
124      case default {
125        ;
126      }
127    }
128    val = val + i32(1);
129    return val == 1;
130  }
131}
132fn return_with_fallthrough_bi(x: i32) -> bool {
133  {
134    switch x {
135      case 1, 2 {
136        return true;
137      }
138      case default {
139        return false;
140      }
141    }
142  }
143}
144fn fallthrough_ends_in_break_bi(x: i32) -> bool {
145  {
146    var val: i32 = 0;
147    switch x {
148      case 1, 2 {
149        break;
150      }
151      case default {
152        return false;
153      }
154    }
155    val = val + i32(1);
156    return val == 1;
157  }
158}
159fn fallthrough_to_default_with_break_bi(x: i32) -> bool {
160  {
161    var val: i32 = 0;
162    switch x {
163      case 1, 2, default {
164        break;
165      }
166    }
167    val = val + i32(1);
168    return val == 1;
169  }
170}
171fn fallthrough_to_default_with_return_bi(x: i32) -> bool {
172  {
173    switch x {
174      case 1, 2, default {
175        return true;
176      }
177    }
178  }
179}
180fn fallthrough_with_loop_break_bi(x: i32) -> bool {
181  {
182    var val: i32 = 0;
183    switch x {
184      case 1, 2, default {
185        var _skTemp0: bool = false;
186        if x == 1 {
187          {
188            var i: i32 = 0;
189            loop {
190              {
191                val = val + i32(1);
192                break;
193              }
194              continuing {
195                i = i + i32(1);
196                break if i >= 5;
197              }
198            }
199          }
200          _skTemp0 = true;  // fallthrough
201        }
202        if _skTemp0 || x == 2 {
203          ;
204          // fallthrough
205        }
206        return true;
207      }
208    }
209  }
210}
211fn fallthrough_with_loop_continue_bi(x: i32) -> bool {
212  {
213    var val: i32 = 0;
214    switch x {
215      case 1, 2, default {
216        var _skTemp1: bool = false;
217        if x == 1 {
218          {
219            var i: i32 = 0;
220            loop {
221              {
222                val = val + i32(1);
223                continue;
224              }
225              continuing {
226                i = i + i32(1);
227                break if i >= 5;
228              }
229            }
230          }
231          _skTemp1 = true;  // fallthrough
232        }
233        if _skTemp1 || x == 2 {
234          ;
235          // fallthrough
236        }
237        return true;
238      }
239    }
240  }
241}
242fn _skslMain(coords: vec2<f32>) -> vec4<f32> {
243  {
244    let x: i32 = i32(_globalUniforms.colorGreen.y);
245    var _skTemp2: vec4<f32>;
246    var _skTemp3: bool;
247    var _skTemp4: bool;
248    var _skTemp5: bool;
249    var _skTemp6: bool;
250    var _skTemp7: bool;
251    var _skTemp8: bool;
252    var _skTemp9: bool;
253    var _skTemp10: bool;
254    var _skTemp11: bool;
255    var _skTemp12: bool;
256    var _skTemp13: bool;
257    var _skTemp14: bool;
258    var _skTemp15: bool;
259    let _skTemp16 = return_in_one_case_bi(x);
260    if _skTemp16 {
261      let _skTemp17 = return_in_default_bi(x);
262      _skTemp15 = _skTemp17;
263    } else {
264      _skTemp15 = false;
265    }
266    if _skTemp15 {
267      let _skTemp18 = return_in_every_case_bi(x);
268      _skTemp14 = _skTemp18;
269    } else {
270      _skTemp14 = false;
271    }
272    if _skTemp14 {
273      let _skTemp19 = return_in_every_case_no_default_bi(x);
274      _skTemp13 = _skTemp19;
275    } else {
276      _skTemp13 = false;
277    }
278    if _skTemp13 {
279      let _skTemp20 = case_has_break_before_return_bi(x);
280      _skTemp12 = _skTemp20;
281    } else {
282      _skTemp12 = false;
283    }
284    if _skTemp12 {
285      let _skTemp21 = case_has_break_after_return_bi(x);
286      _skTemp11 = _skTemp21;
287    } else {
288      _skTemp11 = false;
289    }
290    if _skTemp11 {
291      let _skTemp22 = no_return_in_default_bi(x);
292      _skTemp10 = _skTemp22;
293    } else {
294      _skTemp10 = false;
295    }
296    if _skTemp10 {
297      let _skTemp23 = empty_default_bi(x);
298      _skTemp9 = _skTemp23;
299    } else {
300      _skTemp9 = false;
301    }
302    if _skTemp9 {
303      let _skTemp24 = return_with_fallthrough_bi(x);
304      _skTemp8 = _skTemp24;
305    } else {
306      _skTemp8 = false;
307    }
308    if _skTemp8 {
309      let _skTemp25 = fallthrough_ends_in_break_bi(x);
310      _skTemp7 = _skTemp25;
311    } else {
312      _skTemp7 = false;
313    }
314    if _skTemp7 {
315      let _skTemp26 = fallthrough_to_default_with_break_bi(x);
316      _skTemp6 = _skTemp26;
317    } else {
318      _skTemp6 = false;
319    }
320    if _skTemp6 {
321      let _skTemp27 = fallthrough_to_default_with_return_bi(x);
322      _skTemp5 = _skTemp27;
323    } else {
324      _skTemp5 = false;
325    }
326    if _skTemp5 {
327      let _skTemp28 = fallthrough_with_loop_break_bi(x);
328      _skTemp4 = _skTemp28;
329    } else {
330      _skTemp4 = false;
331    }
332    if _skTemp4 {
333      let _skTemp29 = fallthrough_with_loop_continue_bi(x);
334      _skTemp3 = _skTemp29;
335    } else {
336      _skTemp3 = false;
337    }
338    if _skTemp3 {
339      _skTemp2 = _globalUniforms.colorGreen;
340    } else {
341      _skTemp2 = _globalUniforms.colorRed;
342    }
343    return _skTemp2;
344  }
345}
346@fragment fn main() -> FSOut {
347  var _stageOut: FSOut;
348  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
349  return _stageOut;
350}
351