#include <metal_stdlib>
using namespace metal;

struct tint_symbol_outputs {
  float4 tint_symbol_1 [[position]];
};

float4 tint_symbol_inner(uint VertexIndex) {
  return float4(0.0f, 0.0f, 0.0f, 1.0f);
}

vertex tint_symbol_outputs tint_symbol(uint VertexIndex [[vertex_id]]) {
  return tint_symbol_outputs{.tint_symbol_1=tint_symbol_inner(VertexIndex)};
}
