44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
|
#include <metal_stdlib>
|
||
|
|
||
|
using namespace metal;
|
||
|
struct FragmentInputs0 {
|
||
|
float4 position;
|
||
|
int loc0;
|
||
|
};
|
||
|
|
||
|
struct FragmentInputs1 {
|
||
|
float4 loc3;
|
||
|
half3 loc5;
|
||
|
uint sample_mask;
|
||
|
};
|
||
|
|
||
|
struct tint_symbol_2 {
|
||
|
int loc0 [[user(locn0)]] [[flat]];
|
||
|
uint loc1 [[user(locn1)]] [[flat]];
|
||
|
float loc2 [[user(locn2)]];
|
||
|
float4 loc3 [[user(locn3)]];
|
||
|
half loc4 [[user(locn4)]];
|
||
|
half3 loc5 [[user(locn5)]];
|
||
|
};
|
||
|
|
||
|
void tint_symbol_inner(FragmentInputs0 inputs0, bool front_facing, uint loc1, uint sample_index, FragmentInputs1 inputs1, float loc2, half loc4) {
|
||
|
if (front_facing) {
|
||
|
float4 const foo = inputs0.position;
|
||
|
uint const bar = (sample_index + inputs1.sample_mask);
|
||
|
int const i = inputs0.loc0;
|
||
|
uint const u = loc1;
|
||
|
float const f = loc2;
|
||
|
float4 const v = inputs1.loc3;
|
||
|
half const x = loc4;
|
||
|
half3 const y = inputs1.loc5;
|
||
|
}
|
||
|
}
|
||
|
|
||
|
fragment void tint_symbol(float4 position [[position]], bool front_facing [[front_facing]], uint sample_index [[sample_id]], uint sample_mask [[sample_mask]], tint_symbol_2 tint_symbol_1 [[stage_in]]) {
|
||
|
FragmentInputs0 const tint_symbol_3 = {.position=position, .loc0=tint_symbol_1.loc0};
|
||
|
FragmentInputs1 const tint_symbol_4 = {.loc3=tint_symbol_1.loc3, .loc5=tint_symbol_1.loc5, .sample_mask=sample_mask};
|
||
|
tint_symbol_inner(tint_symbol_3, front_facing, tint_symbol_1.loc1, sample_index, tint_symbol_4, tint_symbol_1.loc2, tint_symbol_1.loc4);
|
||
|
return;
|
||
|
}
|
||
|
|