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 flatten_compound_constructor_b() -> bool { 12 { 13 const x: vec4<i32> = vec4<i32>(vec3<i32>(vec2<i32>(1, 2), 3), 4); 14 const y: vec4<i32> = vec4<i32>(1, vec3<i32>(2, vec2<i32>(3, 4))); 15 return all(x == y); 16 } 17} 18fn flatten_known_if_b() -> bool { 19 { 20 var value: i32; 21 if true { 22 { 23 value = 1; 24 } 25 } else { 26 { 27 value = 2; 28 } 29 } 30 return value == 1; 31 } 32} 33fn eliminate_empty_if_else_b() -> bool { 34 { 35 var check: bool = false; 36 check = !check; 37 if check { 38 { 39 } 40 } else { 41 { 42 } 43 } 44 return check; 45 } 46} 47fn eliminate_empty_else_b() -> bool { 48 { 49 const check: bool = true; 50 if check { 51 { 52 return true; 53 } 54 } else { 55 { 56 } 57 } 58 return false; 59 } 60} 61fn flatten_matching_ternary_b() -> bool { 62 { 63 const check: bool = true; 64 return select(true, true, check); 65 } 66} 67fn flatten_expr_without_side_effects_b() -> bool { 68 { 69 const check: bool = true; 70 return check; 71 } 72} 73fn eliminate_no_op_arithmetic_b() -> bool { 74 { 75 const ONE: i32 = 1; 76 var a1: array<i32, 1>; 77 var a2: array<i32, 1>; 78 var x: i32 = ONE; 79 x = x + 0; 80 x = x * 1; 81 return x == 1; 82 } 83} 84fn flatten_switch_b() -> bool { 85 { 86 switch 1 { 87 case 0 { 88 return false; 89 } 90 case 1 { 91 return true; 92 } 93 case 2 { 94 return false; 95 } 96 case default {} 97 } 98 return false; 99 } 100} 101fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 102 { 103 var _skTemp0: vec4<f32>; 104 var _skTemp1: bool; 105 var _skTemp2: bool; 106 var _skTemp3: bool; 107 var _skTemp4: bool; 108 var _skTemp5: bool; 109 var _skTemp6: bool; 110 var _skTemp7: bool; 111 let _skTemp8 = flatten_compound_constructor_b(); 112 if _skTemp8 { 113 let _skTemp9 = flatten_known_if_b(); 114 _skTemp7 = _skTemp9; 115 } else { 116 _skTemp7 = false; 117 } 118 if _skTemp7 { 119 let _skTemp10 = eliminate_empty_if_else_b(); 120 _skTemp6 = _skTemp10; 121 } else { 122 _skTemp6 = false; 123 } 124 if _skTemp6 { 125 let _skTemp11 = eliminate_empty_else_b(); 126 _skTemp5 = _skTemp11; 127 } else { 128 _skTemp5 = false; 129 } 130 if _skTemp5 { 131 let _skTemp12 = flatten_matching_ternary_b(); 132 _skTemp4 = _skTemp12; 133 } else { 134 _skTemp4 = false; 135 } 136 if _skTemp4 { 137 let _skTemp13 = flatten_expr_without_side_effects_b(); 138 _skTemp3 = _skTemp13; 139 } else { 140 _skTemp3 = false; 141 } 142 if _skTemp3 { 143 let _skTemp14 = eliminate_no_op_arithmetic_b(); 144 _skTemp2 = _skTemp14; 145 } else { 146 _skTemp2 = false; 147 } 148 if _skTemp2 { 149 let _skTemp15 = flatten_switch_b(); 150 _skTemp1 = _skTemp15; 151 } else { 152 _skTemp1 = false; 153 } 154 if _skTemp1 { 155 _skTemp0 = _globalUniforms.colorGreen; 156 } else { 157 _skTemp0 = _globalUniforms.colorRed; 158 } 159 return _skTemp0; 160 } 161} 162@fragment fn main() -> FSOut { 163 var _stageOut: FSOut; 164 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 165 return _stageOut; 166} 167