24 lines
538 B
Plaintext
24 lines
538 B
Plaintext
#include <metal_stdlib>
|
|
|
|
using namespace metal;
|
|
struct tint_private_vars_struct {
|
|
bool tint_discarded;
|
|
};
|
|
|
|
bool call_discard(thread tint_private_vars_struct* const tint_private_vars) {
|
|
(*(tint_private_vars)).tint_discarded = true;
|
|
return true;
|
|
}
|
|
|
|
fragment void f() {
|
|
thread tint_private_vars_struct tint_private_vars = {};
|
|
tint_private_vars.tint_discarded = false;
|
|
bool v = call_discard(&(tint_private_vars));
|
|
bool also_unreachable = false;
|
|
if (tint_private_vars.tint_discarded) {
|
|
discard_fragment();
|
|
}
|
|
return;
|
|
}
|
|
|