| struct FSIn { |
| @builtin(front_facing) sk_Clockwise: bool, |
| }; |
| struct FSOut { |
| @location(0) sk_FragColor: vec4<f32>, |
| }; |
| struct _GlobalUniforms { |
| a: vec4<f32>, |
| b: vec4<f32>, |
| c: vec2<u32>, |
| d: vec2<u32>, |
| e: vec3<i32>, |
| f: vec3<i32>, |
| }; |
| @binding(0) @group(0) var<uniform> _globalUniforms: _GlobalUniforms; |
| fn main(_stageOut: ptr<function, FSOut>) { |
| { |
| var expectTTFF: vec4<bool> = vec4<bool>(true, true, false, false); |
| var expectFFTT: vec4<bool> = vec4<bool>(false, false, true, true); |
| var expectTTTT: vec4<bool> = vec4<bool>(true); |
| (*_stageOut).sk_FragColor.x = f32(select(0, 1, (_globalUniforms.a == _globalUniforms.b).x)); |
| (*_stageOut).sk_FragColor.y = f32(select(0, 1, (_globalUniforms.c == _globalUniforms.d).y)); |
| (*_stageOut).sk_FragColor.z = f32(select(0, 1, (_globalUniforms.e == _globalUniforms.f).z)); |
| let _skTemp0 = any(expectTTFF); |
| let _skTemp1 = any(expectFFTT); |
| let _skTemp2 = any(expectTTTT); |
| (*_stageOut).sk_FragColor.w = f32(select(0, 1, (_skTemp0 || _skTemp1) || _skTemp2)); |
| } |
| } |
| @fragment fn fragmentMain(_stageIn: FSIn) -> FSOut { |
| var _stageOut: FSOut; |
| main(&_stageOut); |
| return _stageOut; |
| } |