struct Interface {
  [[location(0), interpolate(flat)]]
  i : i32;
  [[location(1), interpolate(flat)]]
  u : u32;
  [[location(2), interpolate(flat)]]
  vi : vec4<i32>;
  [[location(3), interpolate(flat)]]
  vu : vec4<u32>;
  [[builtin(position)]]
  pos : vec4<f32>;
};

[[stage(vertex)]]
fn vert_main() -> Interface {
  return Interface();
}

[[stage(fragment)]]
fn frag_main(inputs : Interface) -> [[location(0)]] i32 {
  return inputs.i;
}
