| #include <metal_stdlib> |
| |
| using namespace metal; |
| struct Interface { |
| int i; |
| uint u; |
| int4 vi; |
| uint4 vu; |
| float4 pos; |
| }; |
| struct tint_symbol { |
| int i [[user(locn0)]]; |
| uint u [[user(locn1)]]; |
| int4 vi [[user(locn2)]]; |
| uint4 vu [[user(locn3)]]; |
| float4 pos [[position]]; |
| }; |
| struct tint_symbol_2 { |
| int i [[user(locn0)]]; |
| uint u [[user(locn1)]]; |
| int4 vi [[user(locn2)]]; |
| uint4 vu [[user(locn3)]]; |
| }; |
| struct tint_symbol_3 { |
| int value [[color(0)]]; |
| }; |
| |
| Interface vert_main_inner() { |
| Interface const tint_symbol_4 = {}; |
| return tint_symbol_4; |
| } |
| |
| vertex tint_symbol vert_main() { |
| Interface const inner_result = vert_main_inner(); |
| tint_symbol wrapper_result = {}; |
| wrapper_result.i = inner_result.i; |
| wrapper_result.u = inner_result.u; |
| wrapper_result.vi = inner_result.vi; |
| wrapper_result.vu = inner_result.vu; |
| wrapper_result.pos = inner_result.pos; |
| return wrapper_result; |
| } |
| |
| int frag_main_inner(Interface inputs) { |
| return inputs.i; |
| } |
| |
| fragment tint_symbol_3 frag_main(float4 pos [[position]], tint_symbol_2 tint_symbol_1 [[stage_in]]) { |
| Interface const tint_symbol_5 = {.i=tint_symbol_1.i, .u=tint_symbol_1.u, .vi=tint_symbol_1.vi, .vu=tint_symbol_1.vu, .pos=pos}; |
| int const inner_result_1 = frag_main_inner(tint_symbol_5); |
| tint_symbol_3 wrapper_result_1 = {}; |
| wrapper_result_1.value = inner_result_1; |
| return wrapper_result_1; |
| } |
| |