42 lines
611 B
GLSL
42 lines
611 B
GLSL
#version 310 es
|
|
precision mediump float;
|
|
|
|
layout(location = 1) flat in ivec3 x_1;
|
|
layout(location = 2) out int value;
|
|
bool tint_discard = false;
|
|
int f(int x) {
|
|
if ((x == 10)) {
|
|
tint_discard = true;
|
|
return 0;
|
|
}
|
|
return x;
|
|
}
|
|
|
|
int tint_symbol(ivec3 x) {
|
|
int y = x.x;
|
|
while (true) {
|
|
int r = f(y);
|
|
if (tint_discard) {
|
|
return 0;
|
|
}
|
|
if ((r == 0)) {
|
|
break;
|
|
}
|
|
}
|
|
return y;
|
|
}
|
|
|
|
void tint_discard_func() {
|
|
discard;
|
|
}
|
|
|
|
void main() {
|
|
int inner_result = tint_symbol(x_1);
|
|
if (tint_discard) {
|
|
tint_discard_func();
|
|
return;
|
|
}
|
|
value = inner_result;
|
|
return;
|
|
}
|