1diagnostic(off, derivative_uniformity); 2diagnostic(off, chromium.unreachable_code); 3struct _GlobalUniforms { 4 colorGreen: vec4<f32>, 5 colorRed: vec4<f32>, 6}; 7@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 8struct S { 9 f1: f32, 10 f2: f32, 11 f3: f32, 12}; 13fn test_same_structs_bbfff(eq: bool, f1: f32, f2: f32, f3: f32) -> bool { 14 { 15 let one: f32 = f32(_globalUniforms.colorGreen.x + 1.0); 16 var a: S; 17 a.f1 = f1; 18 a.f2 = f2; 19 a.f3 = f3; 20 var b: S; 21 b.f1 = f1 * one; 22 b.f2 = f2 * one; 23 b.f3 = f3 * one; 24 var _skTemp0: bool; 25 if eq { 26 _skTemp0 = ((a.f1 == b.f1) && (a.f2 == b.f2) && (a.f3 == b.f3)); 27 } else { 28 _skTemp0 = ((a.f1 != b.f1) || (a.f2 != b.f2) || (a.f3 != b.f3)); 29 } 30 return _skTemp0; 31 } 32} 33fn test_diff_structs_bbfff(eq: bool, f1: f32, f2: f32, f3: f32) -> bool { 34 { 35 let two: f32 = f32(_globalUniforms.colorGreen.x + 2.0); 36 var a: S; 37 a.f1 = f1; 38 a.f2 = f2; 39 a.f3 = f3; 40 var b: S; 41 b.f1 = f1 * two; 42 b.f2 = f2 * two; 43 b.f3 = f3; 44 var _skTemp1: bool; 45 if eq { 46 _skTemp1 = ((a.f1 == b.f1) && (a.f2 == b.f2) && (a.f3 == b.f3)); 47 } else { 48 _skTemp1 = ((a.f1 != b.f1) || (a.f2 != b.f2) || (a.f3 != b.f3)); 49 } 50 return _skTemp1; 51 } 52} 53fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 54 { 55 let NAN1: f32 = f32(_globalUniforms.colorGreen.x / _globalUniforms.colorGreen.z); 56 let NAN2: f32 = f32(_globalUniforms.colorGreen.z / _globalUniforms.colorGreen.x); 57 let ZP: f32 = f32(_globalUniforms.colorGreen.x * _globalUniforms.colorGreen.z); 58 let ZM: f32 = f32(-_globalUniforms.colorGreen.x * _globalUniforms.colorGreen.z); 59 let F42: f32 = f32(_globalUniforms.colorGreen.y * 42.0); 60 let F43: f32 = f32(_globalUniforms.colorGreen.y * 43.0); 61 let F44: f32 = f32(_globalUniforms.colorGreen.y * 44.0); 62 const EQ: bool = true; 63 const NE: bool = false; 64 let _0_one: f32 = f32(_globalUniforms.colorGreen.x + 1.0); 65 var _1_a: S; 66 _1_a.f1 = F42; 67 _1_a.f2 = ZM; 68 _1_a.f3 = ZP; 69 var _2_b: S; 70 _2_b.f1 = F42 * _0_one; 71 _2_b.f2 = ZM * _0_one; 72 _2_b.f3 = ZP * _0_one; 73 var _skTemp2: vec4<f32>; 74 var _skTemp3: bool; 75 var _skTemp4: bool; 76 var _skTemp5: bool; 77 var _skTemp6: bool; 78 var _skTemp7: bool; 79 var _skTemp8: bool; 80 var _skTemp9: bool; 81 var _skTemp10: bool; 82 if EQ { 83 _skTemp10 = ((_1_a.f1 == _2_b.f1) && (_1_a.f2 == _2_b.f2) && (_1_a.f3 == _2_b.f3)); 84 } else { 85 _skTemp10 = ((_1_a.f1 != _2_b.f1) || (_1_a.f2 != _2_b.f2) || (_1_a.f3 != _2_b.f3)); 86 } 87 if _skTemp10 { 88 let _skTemp11 = test_same_structs_bbfff(NE, F42, ZM, ZP); 89 _skTemp9 = !_skTemp11; 90 } else { 91 _skTemp9 = false; 92 } 93 if _skTemp9 { 94 let _skTemp12 = test_same_structs_bbfff(NE, F42, NAN1, NAN2); 95 _skTemp8 = _skTemp12; 96 } else { 97 _skTemp8 = false; 98 } 99 if _skTemp8 { 100 let _skTemp13 = test_same_structs_bbfff(EQ, F42, NAN1, NAN2); 101 _skTemp7 = !_skTemp13; 102 } else { 103 _skTemp7 = false; 104 } 105 if _skTemp7 { 106 let _skTemp14 = test_diff_structs_bbfff(NE, F42, F43, F44); 107 _skTemp6 = _skTemp14; 108 } else { 109 _skTemp6 = false; 110 } 111 if _skTemp6 { 112 let _skTemp15 = test_diff_structs_bbfff(EQ, F42, F43, F44); 113 _skTemp5 = !_skTemp15; 114 } else { 115 _skTemp5 = false; 116 } 117 if _skTemp5 { 118 let _skTemp16 = test_diff_structs_bbfff(NE, NAN1, ZM, ZP); 119 _skTemp4 = _skTemp16; 120 } else { 121 _skTemp4 = false; 122 } 123 if _skTemp4 { 124 let _skTemp17 = test_diff_structs_bbfff(EQ, NAN1, ZM, ZP); 125 _skTemp3 = !_skTemp17; 126 } else { 127 _skTemp3 = false; 128 } 129 if _skTemp3 { 130 _skTemp2 = _globalUniforms.colorGreen; 131 } else { 132 _skTemp2 = _globalUniforms.colorRed; 133 } 134 return vec4<f32>(_skTemp2); 135 } 136} 137@fragment fn main(@location(0) _coords: vec2<f32>) -> @location(0) vec4<f32> { 138 return _skslMain(_coords); 139} 140