struct Output {
    @builtin(position) Position : vec4<f32>;
    @location(0) color : vec4<f32>;
};
@stage(vertex) fn main(
    @builtin(vertex_index) VertexIndex : u32,
    @builtin(instance_index) InstanceIndex : u32) -> Output {
    // TODO: remove workaround for Tint unary array access broke
    let zv : array<vec2<f32>, 4> = array<vec2<f32>, 4>(
        vec2<f32>(0.2, 0.2),
        vec2<f32>(0.3, 0.3),
        vec2<f32>(-0.1, -0.1),
        vec2<f32>(1.1, 1.1));
    let z : f32 = zv[InstanceIndex].x;
    var output : Output;
    output.Position = vec4<f32>(0.5, 0.5, z, 1.0);
    let colors : array<vec4<f32>, 4> = array<vec4<f32>, 4>(
        vec4<f32>(1.0, 0.0, 0.0, 1.0),
        vec4<f32>(0.0, 1.0, 0.0, 1.0),
        vec4<f32>(0.0, 0.0, 1.0, 1.0),
        vec4<f32>(1.0, 1.0, 1.0, 1.0)
    );
    output.color = colors[InstanceIndex];
    return output;
}
