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; 11var<private> scratchVar: i32 = 0; 12fn test_flat_b() -> bool { 13 { 14 return true; 15 } 16} 17fn test_if_b() -> bool { 18 { 19 if _globalUniforms.colorGreen.y > 0.0 { 20 { 21 return true; 22 } 23 } else { 24 { 25 scratchVar = scratchVar + i32(1); 26 } 27 } 28 scratchVar = scratchVar + i32(1); 29 return false; 30 } 31} 32fn test_else_b() -> bool { 33 { 34 if _globalUniforms.colorGreen.y == 0.0 { 35 { 36 return false; 37 } 38 } else { 39 { 40 return true; 41 } 42 } 43 } 44 return bool(); 45} 46fn test_loop_if_b() -> bool { 47 { 48 { 49 var x: i32 = 0; 50 loop { 51 { 52 if _globalUniforms.colorGreen.y == 0.0 { 53 { 54 return false; 55 } 56 } else { 57 { 58 return true; 59 } 60 } 61 } 62 continuing { 63 x = x + i32(1); 64 break if x > 1; 65 } 66 } 67 } 68 scratchVar = scratchVar + i32(1); 69 return true; 70 } 71} 72fn _skslMain(xy: vec2<f32>) -> vec4<f32> { 73 { 74 var _skTemp0: vec4<f32>; 75 var _skTemp1: bool; 76 var _skTemp2: bool; 77 var _skTemp3: bool; 78 let _skTemp4 = test_flat_b(); 79 if _skTemp4 { 80 let _skTemp5 = test_if_b(); 81 _skTemp3 = _skTemp5; 82 } else { 83 _skTemp3 = false; 84 } 85 if _skTemp3 { 86 let _skTemp6 = test_else_b(); 87 _skTemp2 = _skTemp6; 88 } else { 89 _skTemp2 = false; 90 } 91 if _skTemp2 { 92 let _skTemp7 = test_loop_if_b(); 93 _skTemp1 = _skTemp7; 94 } else { 95 _skTemp1 = false; 96 } 97 if _skTemp1 { 98 _skTemp0 = _globalUniforms.colorGreen; 99 } else { 100 _skTemp0 = _globalUniforms.colorRed; 101 } 102 return _skTemp0; 103 } 104} 105@fragment fn main() -> FSOut { 106 var _stageOut: FSOut; 107 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 108 return _stageOut; 109} 110