struct FSIn {
    @builtin(front_facing) sk_Clockwise: bool;
    @builtin(position) sk_FragCoord: vec4<f32>;
};
struct FSOut {
    @location(0) sk_FragColor: vec4<f32>;
};
fn main(coords: vec2<f32>) -> vec4<f32> {
    return vec4<f32>(0.0, 1.0, 0.0, 1.0);
}
@stage(fragment) fn fragmentMain(_stageIn: FSIn) -> FSOut {
    var _stageOut: FSOut;
    _stageOut.sk_FragColor = main(_stageIn.sk_FragCoord.xy);
    return _stageOut;
}
