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 unknownInput: f32, 10}; 11@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 12fn inside_while_loop_b() -> bool { 13 { 14 loop { 15 if _globalUniforms.unknownInput == 123.0 { 16 { 17 return false; 18 } 19 } else { 20 break; 21 } 22 } 23 return true; 24 } 25} 26fn inside_infinite_do_loop_b() -> bool { 27 { 28 loop { 29 { 30 return true; 31 } 32 continuing { 33 break if false; 34 } 35 } 36 } 37 return bool(); 38} 39fn inside_infinite_while_loop_b() -> bool { 40 { 41 loop { 42 if true { 43 { 44 return true; 45 } 46 } else { 47 break; 48 } 49 } 50 } 51 return bool(); 52} 53fn after_do_loop_b() -> bool { 54 { 55 loop { 56 { 57 break; 58 } 59 continuing { 60 break if false; 61 } 62 } 63 return true; 64 } 65} 66fn after_while_loop_b() -> bool { 67 { 68 loop { 69 if true { 70 { 71 break; 72 } 73 } else { 74 break; 75 } 76 } 77 return true; 78 } 79} 80fn switch_with_all_returns_b() -> bool { 81 { 82 let _skTemp0 = i32(_globalUniforms.unknownInput); 83 switch _skTemp0 { 84 case 1 { 85 return true; 86 } 87 case 2 { 88 return false; 89 } 90 case default { 91 return false; 92 } 93 } 94 } 95} 96fn switch_fallthrough_b() -> bool { 97 { 98 let _skTemp1 = i32(_globalUniforms.unknownInput); 99 switch _skTemp1 { 100 case 1 { 101 return true; 102 } 103 case 2, default { 104 return false; 105 } 106 } 107 } 108} 109fn switch_fallthrough_twice_b() -> bool { 110 { 111 let _skTemp2 = i32(_globalUniforms.unknownInput); 112 switch _skTemp2 { 113 case 1, 2, default { 114 return true; 115 } 116 } 117 } 118} 119fn switch_with_break_in_loop_b() -> bool { 120 { 121 let _skTemp3 = i32(_globalUniforms.unknownInput); 122 switch _skTemp3 { 123 case 1, default { 124 var _skTemp4: bool = false; 125 if _skTemp3 == 1 { 126 { 127 var x: i32 = 0; 128 loop { 129 { 130 break; 131 } 132 continuing { 133 x = x + i32(1); 134 break if x > 10; 135 } 136 } 137 } 138 // fallthrough 139 } 140 return true; 141 } 142 } 143 } 144} 145fn switch_with_continue_in_loop_b() -> bool { 146 { 147 let _skTemp5 = i32(_globalUniforms.unknownInput); 148 switch _skTemp5 { 149 case 1, default { 150 var _skTemp6: bool = false; 151 if _skTemp5 == 1 { 152 { 153 var x: i32 = 0; 154 loop { 155 { 156 continue; 157 } 158 continuing { 159 x = x + i32(1); 160 break if x > 10; 161 } 162 } 163 } 164 // fallthrough 165 } 166 return true; 167 } 168 } 169 } 170} 171fn switch_with_if_that_returns_b() -> bool { 172 { 173 let _skTemp7 = i32(_globalUniforms.unknownInput); 174 switch _skTemp7 { 175 case 1, default { 176 var _skTemp8: bool = false; 177 if _skTemp7 == 1 { 178 if _globalUniforms.unknownInput == 123.0 { 179 return false; 180 } else { 181 return true; 182 } 183 // fallthrough 184 } 185 return true; 186 } 187 } 188 } 189} 190fn switch_with_one_sided_if_then_fallthrough_b() -> bool { 191 { 192 let _skTemp9 = i32(_globalUniforms.unknownInput); 193 switch _skTemp9 { 194 case 1, default { 195 var _skTemp10: bool = false; 196 if _skTemp9 == 1 { 197 if _globalUniforms.unknownInput == 123.0 { 198 return false; 199 } 200 // fallthrough 201 } 202 return true; 203 } 204 } 205 } 206} 207fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 208 { 209 var _skTemp11: vec4<f32>; 210 var _skTemp12: bool; 211 var _skTemp13: bool; 212 var _skTemp14: bool; 213 var _skTemp15: bool; 214 var _skTemp16: bool; 215 var _skTemp17: bool; 216 var _skTemp18: bool; 217 var _skTemp19: bool; 218 var _skTemp20: bool; 219 var _skTemp21: bool; 220 var _skTemp22: bool; 221 let _skTemp23 = inside_while_loop_b(); 222 if _skTemp23 { 223 let _skTemp24 = inside_infinite_do_loop_b(); 224 _skTemp22 = _skTemp24; 225 } else { 226 _skTemp22 = false; 227 } 228 if _skTemp22 { 229 let _skTemp25 = inside_infinite_while_loop_b(); 230 _skTemp21 = _skTemp25; 231 } else { 232 _skTemp21 = false; 233 } 234 if _skTemp21 { 235 let _skTemp26 = after_do_loop_b(); 236 _skTemp20 = _skTemp26; 237 } else { 238 _skTemp20 = false; 239 } 240 if _skTemp20 { 241 let _skTemp27 = after_while_loop_b(); 242 _skTemp19 = _skTemp27; 243 } else { 244 _skTemp19 = false; 245 } 246 if _skTemp19 { 247 let _skTemp28 = switch_with_all_returns_b(); 248 _skTemp18 = _skTemp28; 249 } else { 250 _skTemp18 = false; 251 } 252 if _skTemp18 { 253 let _skTemp29 = switch_fallthrough_b(); 254 _skTemp17 = _skTemp29; 255 } else { 256 _skTemp17 = false; 257 } 258 if _skTemp17 { 259 let _skTemp30 = switch_fallthrough_twice_b(); 260 _skTemp16 = _skTemp30; 261 } else { 262 _skTemp16 = false; 263 } 264 if _skTemp16 { 265 let _skTemp31 = switch_with_break_in_loop_b(); 266 _skTemp15 = _skTemp31; 267 } else { 268 _skTemp15 = false; 269 } 270 if _skTemp15 { 271 let _skTemp32 = switch_with_continue_in_loop_b(); 272 _skTemp14 = _skTemp32; 273 } else { 274 _skTemp14 = false; 275 } 276 if _skTemp14 { 277 let _skTemp33 = switch_with_if_that_returns_b(); 278 _skTemp13 = _skTemp33; 279 } else { 280 _skTemp13 = false; 281 } 282 if _skTemp13 { 283 let _skTemp34 = switch_with_one_sided_if_then_fallthrough_b(); 284 _skTemp12 = _skTemp34; 285 } else { 286 _skTemp12 = false; 287 } 288 if _skTemp12 { 289 _skTemp11 = _globalUniforms.colorGreen; 290 } else { 291 _skTemp11 = _globalUniforms.colorRed; 292 } 293 return _skTemp11; 294 } 295} 296@fragment fn main() -> FSOut { 297 var _stageOut: FSOut; 298 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 299 return _stageOut; 300} 301