blob: e1e94164ea1ca265858f97ec20456a70b62180bf [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct PixelLocal {
uint a;
};
struct tint_private_vars_struct {
PixelLocal P;
};
struct f_res {
uint output_0;
float4 output_1;
};
struct tint_symbol_1 {
uint a [[color(1)]];
};
struct tint_symbol_2 {
float4 output_1 [[color(0)]];
uint output_0 [[color(1)]];
};
void f0(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).P.a = ((*(tint_private_vars)).P.a + 9u);
}
void f1(thread tint_private_vars_struct* const tint_private_vars) {
f0(tint_private_vars);
(*(tint_private_vars)).P.a = ((*(tint_private_vars)).P.a + 8u);
}
void f2(thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).P.a = ((*(tint_private_vars)).P.a + 7u);
f1(tint_private_vars);
}
float4 f_inner(thread tint_private_vars_struct* const tint_private_vars) {
f2(tint_private_vars);
return float4(2.0f);
}
f_res f_inner_1(PixelLocal pixel_local_1, thread tint_private_vars_struct* const tint_private_vars) {
(*(tint_private_vars)).P = pixel_local_1;
float4 const result = f_inner(tint_private_vars);
f_res const tint_symbol_4 = {.output_0=(*(tint_private_vars)).P.a, .output_1=result};
return tint_symbol_4;
}
fragment tint_symbol_2 f(tint_symbol_1 tint_symbol [[stage_in]]) {
thread tint_private_vars_struct tint_private_vars = {};
PixelLocal const tint_symbol_3 = {.a=tint_symbol.a};
f_res const inner_result = f_inner_1(tint_symbol_3, &(tint_private_vars));
tint_symbol_2 wrapper_result = {};
wrapper_result.output_0 = inner_result.output_0;
wrapper_result.output_1 = inner_result.output_1;
return wrapper_result;
}