#include <metal_stdlib>

using namespace metal;
struct FragmentInputs {
  int loc0;
  uint loc1;
  float loc2;
  float4 loc3;
};
struct tint_symbol_2 {
  int loc0 [[user(locn0)]];
  uint loc1 [[user(locn1)]];
  float loc2 [[user(locn2)]];
  float4 loc3 [[user(locn3)]];
};

fragment void tint_symbol(tint_symbol_2 tint_symbol_1 [[stage_in]]) {
  FragmentInputs const inputs = {.loc0=tint_symbol_1.loc0, .loc1=tint_symbol_1.loc1, .loc2=tint_symbol_1.loc2, .loc3=tint_symbol_1.loc3};
  int const i = inputs.loc0;
  uint const u = inputs.loc1;
  float const f = inputs.loc2;
  float4 const v = inputs.loc3;
  return;
}

