dawn-cmake/test/tint/statements/discard/non_uniform.wgsl.expected.msl

23 lines
571 B
Plaintext

#include <metal_stdlib>
using namespace metal;
struct tint_private_vars_struct {
bool tint_discarded;
};
fragment void tint_symbol(device int* tint_symbol_1 [[buffer(0)]], device float* tint_symbol_2 [[buffer(1)]]) {
thread tint_private_vars_struct tint_private_vars = {};
tint_private_vars.tint_discarded = false;
if ((*(tint_symbol_1) < 0)) {
tint_private_vars.tint_discarded = true;
}
if (!(tint_private_vars.tint_discarded)) {
*(tint_symbol_2) = dfdx(1.0f);
}
if (tint_private_vars.tint_discarded) {
discard_fragment();
}
return;
}