#include <metal_stdlib> | |
using namespace metal; | |
struct FragIn { | |
float a; | |
uint mask; | |
}; | |
struct tint_symbol_2 { | |
float a [[user(locn0)]]; | |
float b [[user(locn1)]]; | |
}; | |
struct tint_symbol_3 { | |
float a [[color(0)]]; | |
uint mask [[sample_mask]]; | |
}; | |
FragIn tint_symbol_inner(FragIn in, float b) { | |
if ((in.mask == 0u)) { | |
return in; | |
} | |
FragIn const tint_symbol_4 = {.a=b, .mask=1u}; | |
return tint_symbol_4; | |
} | |
fragment tint_symbol_3 tint_symbol(uint mask [[sample_mask]], tint_symbol_2 tint_symbol_1 [[stage_in]]) { | |
FragIn const tint_symbol_5 = {.a=tint_symbol_1.a, .mask=mask}; | |
FragIn const inner_result = tint_symbol_inner(tint_symbol_5, tint_symbol_1.b); | |
tint_symbol_3 wrapper_result = {}; | |
wrapper_result.a = inner_result.a; | |
wrapper_result.mask = inner_result.mask; | |
return wrapper_result; | |
} | |