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 testMatrix2x2: mat2x2<f32>, 10}; 11@binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; 12fn _skslMain(coords: vec2<f32>) -> vec4<f32> { 13 { 14 var ok: bool = true; 15 ok = ok && all(vec4<f32>(_globalUniforms.testMatrix2x2[0], _globalUniforms.testMatrix2x2[1]) == vec4<f32>(1.0, 2.0, 3.0, 4.0)); 16 ok = ok && all(vec4<f32>(vec4<f32>(_globalUniforms.testMatrix2x2[0], _globalUniforms.testMatrix2x2[1])) == vec4<f32>(1.0, 2.0, 3.0, 4.0)); 17 ok = ok && all(vec4<i32>(vec4<f32>(_globalUniforms.testMatrix2x2[0], _globalUniforms.testMatrix2x2[1])) == vec4<i32>(1, 2, 3, 4)); 18 ok = ok && all(vec4<bool>(vec4<f32>(_globalUniforms.testMatrix2x2[0], _globalUniforms.testMatrix2x2[1])) == vec4<bool>(true)); 19 return select(_globalUniforms.colorRed, _globalUniforms.colorGreen, vec4<bool>(ok)); 20 } 21} 22@fragment fn main() -> FSOut { 23 var _stageOut: FSOut; 24 _stageOut.sk_FragColor = _skslMain(/*fragcoord*/ vec2<f32>()); 25 return _stageOut; 26} 27