struct Interface { [[location(0), interpolate(flat)]] i : i32; [[location(1), interpolate(flat)]] u : u32; [[location(2), interpolate(flat)]] vi : vec4; [[location(3), interpolate(flat)]] vu : vec4; [[builtin(position)]] pos : vec4; }; [[stage(vertex)]] fn vert_main() -> Interface { return Interface(); } [[stage(fragment)]] fn frag_main(inputs : Interface) -> [[location(0)]] i32 { return inputs.i; }