| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct VertexOutput { |
| float4 pos; |
| int loc0; |
| }; |
| |
| VertexOutput foo(float x) { |
| VertexOutput const tint_symbol_2 = {.pos=float4(x, x, x, 1.0f), .loc0=42}; |
| return tint_symbol_2; |
| } |
| |
| struct tint_symbol { |
| int loc0 [[user(locn0)]] [[flat]]; |
| float4 pos [[position]]; |
| }; |
| |
| VertexOutput vert_main1_inner() { |
| return foo(0.5f); |
| } |
| |
| vertex tint_symbol vert_main1() { |
| VertexOutput const inner_result = vert_main1_inner(); |
| tint_symbol wrapper_result = {}; |
| wrapper_result.pos = inner_result.pos; |
| wrapper_result.loc0 = inner_result.loc0; |
| return wrapper_result; |
| } |
| |
| struct tint_symbol_1 { |
| int loc0 [[user(locn0)]] [[flat]]; |
| float4 pos [[position]]; |
| }; |
| |
| VertexOutput vert_main2_inner() { |
| return foo(0.25f); |
| } |
| |
| vertex tint_symbol_1 vert_main2() { |
| VertexOutput const inner_result_1 = vert_main2_inner(); |
| tint_symbol_1 wrapper_result_1 = {}; |
| wrapper_result_1.pos = inner_result_1.pos; |
| wrapper_result_1.loc0 = inner_result_1.loc0; |
| return wrapper_result_1; |
| } |
| |