1diagnostic(off, derivative_uniformity); 2diagnostic(off, chromium.unreachable_code); 3struct FSOut { 4 @location(0) sk_FragColor: vec4<f32>, 5}; 6struct _GlobalUniforms { 7 colorWhite: vec4<f32>, 8 colorGreen: vec4<f32>, 9 colorRed: vec4<f32>, 10 testMatrix2x2: mat2x2<f32>, 11 testMatrix3x3: mat3x3<f32>, 12 testMatrix4x4: mat4x4<f32>, 13}; 14@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 15fn test_iscalar_b() -> bool { 16 { 17 var x: i32 = i32(_globalUniforms.colorWhite.x); 18 x = -x; 19 return x == -1; 20 } 21} 22fn test_fvec_b() -> bool { 23 { 24 var x: vec2<f32> = _globalUniforms.colorWhite.xy; 25 x = -x; 26 return all(x == vec2<f32>(-1.0)); 27 } 28} 29fn test_ivec_b() -> bool { 30 { 31 var x: vec2<i32> = vec2<i32>(i32(_globalUniforms.colorWhite.x)); 32 x = -x; 33 return all(x == vec2<i32>(-1)); 34 } 35} 36fn test_mat2_b() -> bool { 37 { 38 const negated: mat2x2<f32> = mat2x2<f32>(-1.0, -2.0, -3.0, -4.0); 39 var x: mat2x2<f32> = _globalUniforms.testMatrix2x2; 40 x = (-1.0 * x); 41 return (all(x[0] == negated[0]) && all(x[1] == negated[1])); 42 } 43} 44fn test_mat3_b() -> bool { 45 { 46 const negated: mat3x3<f32> = mat3x3<f32>(-1.0, -2.0, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0, -9.0); 47 var x: mat3x3<f32> = _globalUniforms.testMatrix3x3; 48 x = (-1.0 * x); 49 return (all(x[0] == negated[0]) && all(x[1] == negated[1]) && all(x[2] == negated[2])); 50 } 51} 52fn test_mat4_b() -> bool { 53 { 54 const negated: mat4x4<f32> = mat4x4<f32>(-1.0, -2.0, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0, -9.0, -10.0, -11.0, -12.0, -13.0, -14.0, -15.0, -16.0); 55 var x: mat4x4<f32> = _globalUniforms.testMatrix4x4; 56 x = (-1.0 * x); 57 return (all(x[0] == negated[0]) && all(x[1] == negated[1]) && all(x[2] == negated[2]) && all(x[3] == negated[3])); 58 } 59} 60fn test_hmat2_b() -> bool { 61 { 62 const negated: mat2x2<f32> = mat2x2<f32>(-1.0, -2.0, -3.0, -4.0); 63 var x: mat2x2<f32> = mat2x2<f32>(_globalUniforms.testMatrix2x2); 64 x = (-1.0 * x); 65 return (all(x[0] == negated[0]) && all(x[1] == negated[1])); 66 } 67} 68fn test_hmat3_b() -> bool { 69 { 70 const negated: mat3x3<f32> = mat3x3<f32>(-1.0, -2.0, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0, -9.0); 71 var x: mat3x3<f32> = mat3x3<f32>(_globalUniforms.testMatrix3x3); 72 x = (-1.0 * x); 73 return (all(x[0] == negated[0]) && all(x[1] == negated[1]) && all(x[2] == negated[2])); 74 } 75} 76fn test_hmat4_b() -> bool { 77 { 78 const negated: mat4x4<f32> = mat4x4<f32>(-1.0, -2.0, -3.0, -4.0, -5.0, -6.0, -7.0, -8.0, -9.0, -10.0, -11.0, -12.0, -13.0, -14.0, -15.0, -16.0); 79 var x: mat4x4<f32> = mat4x4<f32>(_globalUniforms.testMatrix4x4); 80 x = (-1.0 * x); 81 return (all(x[0] == negated[0]) && all(x[1] == negated[1]) && all(x[2] == negated[2]) && all(x[3] == negated[3])); 82 } 83} 84fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 85 { 86 var _0_x: f32 = f32(_globalUniforms.colorWhite.x); 87 _0_x = -_0_x; 88 var _skTemp0: vec4<f32>; 89 var _skTemp1: bool; 90 var _skTemp2: bool; 91 var _skTemp3: bool; 92 var _skTemp4: bool; 93 var _skTemp5: bool; 94 var _skTemp6: bool; 95 var _skTemp7: bool; 96 var _skTemp8: bool; 97 var _skTemp9: bool; 98 if _0_x == -1.0 { 99 let _skTemp10 = test_iscalar_b(); 100 _skTemp9 = _skTemp10; 101 } else { 102 _skTemp9 = false; 103 } 104 if _skTemp9 { 105 let _skTemp11 = test_fvec_b(); 106 _skTemp8 = _skTemp11; 107 } else { 108 _skTemp8 = false; 109 } 110 if _skTemp8 { 111 let _skTemp12 = test_ivec_b(); 112 _skTemp7 = _skTemp12; 113 } else { 114 _skTemp7 = false; 115 } 116 if _skTemp7 { 117 let _skTemp13 = test_mat2_b(); 118 _skTemp6 = _skTemp13; 119 } else { 120 _skTemp6 = false; 121 } 122 if _skTemp6 { 123 let _skTemp14 = test_mat3_b(); 124 _skTemp5 = _skTemp14; 125 } else { 126 _skTemp5 = false; 127 } 128 if _skTemp5 { 129 let _skTemp15 = test_mat4_b(); 130 _skTemp4 = _skTemp15; 131 } else { 132 _skTemp4 = false; 133 } 134 if _skTemp4 { 135 let _skTemp16 = test_hmat2_b(); 136 _skTemp3 = _skTemp16; 137 } else { 138 _skTemp3 = false; 139 } 140 if _skTemp3 { 141 let _skTemp17 = test_hmat3_b(); 142 _skTemp2 = _skTemp17; 143 } else { 144 _skTemp2 = false; 145 } 146 if _skTemp2 { 147 let _skTemp18 = test_hmat4_b(); 148 _skTemp1 = _skTemp18; 149 } else { 150 _skTemp1 = false; 151 } 152 if _skTemp1 { 153 _skTemp0 = _globalUniforms.colorGreen; 154 } else { 155 _skTemp0 = _globalUniforms.colorRed; 156 } 157 return _skTemp0; 158 } 159} 160@fragment fn main() -> FSOut { 161 var _stageOut: FSOut; 162 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 163 return _stageOut; 164} 165