struct Output { @builtin(position) Position : vec4; @location(0) color : vec4; } @stage(vertex) fn main(@builtin(vertex_index) VertexIndex : u32, @builtin(instance_index) InstanceIndex : u32) -> Output { let zv : array, 4> = array, 4>(vec2(0.200000003, 0.200000003), vec2(0.300000012, 0.300000012), vec2(-0.100000001, -0.100000001), vec2(1.100000024, 1.100000024)); let z : f32 = zv[InstanceIndex].x; var output : Output; output.Position = vec4(0.5, 0.5, z, 1.0); let colors : array, 4> = array, 4>(vec4(1.0, 0.0, 0.0, 1.0), vec4(0.0, 1.0, 0.0, 1.0), vec4(0.0, 0.0, 1.0, 1.0), vec4(1.0, 1.0, 1.0, 1.0)); output.color = colors[InstanceIndex]; return output; }