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