#include using namespace metal; struct S { /* 0x0000 */ float f; /* 0x0004 */ uint u; /* 0x0008 */ int8_t tint_pad[120]; /* 0x0080 */ float4 v; /* 0x0090 */ int8_t tint_pad_1[112]; }; struct tint_symbol_1 { float f [[user(locn0)]]; uint u [[user(locn1)]] [[flat]]; }; void frag_main_inner(device S& output, S input) { float const f = input.f; uint const u = input.u; float4 const v = input.v; output = input; } fragment void frag_main(float4 v [[position]], tint_symbol_1 tint_symbol [[stage_in]], device S& output [[buffer(0)]]) { S const tint_symbol_2 = {.f=tint_symbol.f, .u=tint_symbol.u, .v=v}; frag_main_inner(output, tint_symbol_2); return; }