blob: b57789ef913a9f6ec6cbbd83a97b191ffd76a5fd [file] [log] [blame]
#include <metal_stdlib>
using namespace metal;
struct tint_module_vars_struct {
device int* non_uniform_global;
device float* output;
thread bool* continue_execution;
};
fragment void tint_symbol(device int* non_uniform_global [[buffer(0)]], device float* output [[buffer(1)]]) {
thread bool continue_execution = true;
tint_module_vars_struct const tint_module_vars = tint_module_vars_struct{.non_uniform_global=non_uniform_global, .output=output, .continue_execution=(&continue_execution)};
if (((*tint_module_vars.non_uniform_global) < 0)) {
(*tint_module_vars.continue_execution) = false;
}
float const v = dfdx(1.0f);
if ((*tint_module_vars.continue_execution)) {
(*tint_module_vars.output) = v;
}
if (((*tint_module_vars.output) < 0.0f)) {
int i = 0;
{
while(true) {
float const v_1 = (*tint_module_vars.output);
if ((v_1 > float(i))) {
float const v_2 = float(i);
if ((*tint_module_vars.continue_execution)) {
(*tint_module_vars.output) = v_2;
}
if (!((*tint_module_vars.continue_execution))) {
discard_fragment();
}
return;
}
{
i = (i + 1);
if ((i == 5)) { break; }
}
continue;
}
}
if (!((*tint_module_vars.continue_execution))) {
discard_fragment();
}
return;
}
if (!((*tint_module_vars.continue_execution))) {
discard_fragment();
}
}