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 switch_fallthrough_groups_bi(value: i32) -> bool { 12 { 13 var ok: bool = false; 14 switch value { 15 case -1, 0 { 16 var _skTemp0: bool = false; 17 if value == -1 { 18 ok = false; 19 // fallthrough 20 } 21 return false; 22 } 23 case 1, 2, 3 { 24 var _skTemp1: bool = false; 25 if value == 1 { 26 ok = true; 27 _skTemp1 = true; // fallthrough 28 } 29 if _skTemp1 || value == 2 { 30 ; 31 // fallthrough 32 } 33 break; 34 } 35 case 4, 5, 6, 7, default { 36 var _skTemp2: bool = false; 37 if value == 4 { 38 ok = false; 39 _skTemp2 = true; // fallthrough 40 } 41 if _skTemp2 || value == 5 { 42 ; 43 _skTemp2 = true; // fallthrough 44 } 45 if _skTemp2 || value == 6 { 46 ; 47 _skTemp2 = true; // fallthrough 48 } 49 if _skTemp2 || value == 7 { 50 ; 51 // fallthrough 52 } 53 break; 54 } 55 } 56 return ok; 57 } 58} 59fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 60 { 61 let x: i32 = i32(_globalUniforms.colorGreen.y); 62 var _skTemp3: vec4<f32>; 63 let _skTemp4 = switch_fallthrough_groups_bi(x); 64 if _skTemp4 { 65 _skTemp3 = _globalUniforms.colorGreen; 66 } else { 67 _skTemp3 = _globalUniforms.colorRed; 68 } 69 return _skTemp3; 70 } 71} 72@fragment fn main() -> FSOut { 73 var _stageOut: FSOut; 74 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 75 return _stageOut; 76} 77