struct FSIn {
    @builtin(front_facing) sk_Clockwise: bool,
    @builtin(position) sk_FragCoord: vec4<f32>,
};
struct FSOut {
    @location(0) sk_FragColor: vec4<f32>,
};
fn main(_stageIn: FSIn, _stageOut: ptr<function, FSOut>) {
    var x: f32 = _stageIn.sk_FragCoord.x;
    var y: f32 = f32(_stageIn.sk_Clockwise);
    (*_stageOut).sk_FragColor = vec4<f32>(f32(x), f32(y), 1.0, 1.0);
}
@fragment fn fragmentMain(_stageIn: FSIn) -> FSOut {
    var _stageOut: FSOut;
    main(_stageIn, &_stageOut);
    return _stageOut;
}
