• 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 test_return_b() -> bool {
12  {
13    loop {
14      {
15        return true;
16      }
17      continuing {
18        break if true;
19      }
20    }
21  }
22  return bool();
23}
24fn test_break_b() -> bool {
25  {
26    loop {
27      {
28        break;
29      }
30      continuing {
31        break if true;
32      }
33    }
34    return true;
35  }
36}
37fn test_continue_b() -> bool {
38  {
39    loop {
40      {
41        continue;
42      }
43      continuing {
44        break if true;
45      }
46    }
47    return true;
48  }
49}
50fn test_if_return_b() -> bool {
51  {
52    loop {
53      {
54        if _globalUniforms.colorGreen.y > 0.0 {
55          {
56            return true;
57          }
58        } else {
59          {
60            break;
61          }
62        }
63        continue;
64      }
65      continuing {
66        break if true;
67      }
68    }
69    return false;
70  }
71}
72fn test_if_break_b() -> bool {
73  {
74    loop {
75      {
76        if _globalUniforms.colorGreen.y > 0.0 {
77          {
78            break;
79          }
80        } else {
81          {
82            continue;
83          }
84        }
85      }
86      continuing {
87        break if true;
88      }
89    }
90    return true;
91  }
92}
93fn test_else_b() -> bool {
94  {
95    loop {
96      {
97        if _globalUniforms.colorGreen.y == 0.0 {
98          {
99            return false;
100          }
101        } else {
102          {
103            return true;
104          }
105        }
106      }
107      continuing {
108        break if true;
109      }
110    }
111  }
112  return bool();
113}
114fn test_loop_return_b() -> bool {
115  {
116    return true;
117  }
118}
119fn test_loop_break_b() -> bool {
120  {
121    {
122      var x: i32 = 0;
123      loop {
124        {
125          break;
126        }
127        continuing {
128          x = x + i32(1);
129          break if x > 1;
130        }
131      }
132    }
133    return true;
134  }
135}
136fn _skslMain(xy: vec2<f32>) -> vec4<f32> {
137  {
138    var _skTemp0: vec4<f32>;
139    var _skTemp1: bool;
140    var _skTemp2: bool;
141    var _skTemp3: bool;
142    var _skTemp4: bool;
143    var _skTemp5: bool;
144    var _skTemp6: bool;
145    var _skTemp7: bool;
146    let _skTemp8 = test_return_b();
147    if _skTemp8 {
148      let _skTemp9 = test_break_b();
149      _skTemp7 = _skTemp9;
150    } else {
151      _skTemp7 = false;
152    }
153    if _skTemp7 {
154      let _skTemp10 = test_continue_b();
155      _skTemp6 = _skTemp10;
156    } else {
157      _skTemp6 = false;
158    }
159    if _skTemp6 {
160      let _skTemp11 = test_if_return_b();
161      _skTemp5 = _skTemp11;
162    } else {
163      _skTemp5 = false;
164    }
165    if _skTemp5 {
166      let _skTemp12 = test_if_break_b();
167      _skTemp4 = _skTemp12;
168    } else {
169      _skTemp4 = false;
170    }
171    if _skTemp4 {
172      let _skTemp13 = test_else_b();
173      _skTemp3 = _skTemp13;
174    } else {
175      _skTemp3 = false;
176    }
177    if _skTemp3 {
178      let _skTemp14 = test_loop_return_b();
179      _skTemp2 = _skTemp14;
180    } else {
181      _skTemp2 = false;
182    }
183    if _skTemp2 {
184      let _skTemp15 = test_loop_break_b();
185      _skTemp1 = _skTemp15;
186    } else {
187      _skTemp1 = false;
188    }
189    if _skTemp1 {
190      _skTemp0 = _globalUniforms.colorGreen;
191    } else {
192      _skTemp0 = _globalUniforms.colorRed;
193    }
194    return _skTemp0;
195  }
196}
197@fragment fn main() -> FSOut {
198  var _stageOut: FSOut;
199  _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>());
200  return _stageOut;
201}
202