92748af1a5
This drastically reduces the number of functions which we allow to be inlined. If this change does not hurt our performance, it will allow us to trivially remove hundreds of LOC. All current data leads us to believe that it may affect the Mali 400 but is highly unlikely to change results on any other device in the tree. More info: http://go/optimization-in-sksl-inliner Change-Id: Ia6b706742ce5407453e0e697b6c1f9201084c0e8 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384858 Auto-Submit: John Stiles <johnstiles@google.com> Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
120 lines
1.6 KiB
GLSL
120 lines
1.6 KiB
GLSL
|
|
out vec4 sk_FragColor;
|
|
uniform vec4 colorRed;
|
|
uniform vec4 colorGreen;
|
|
uniform float unknownInput;
|
|
bool test() {
|
|
bool expr = unknownInput > 0.0;
|
|
int ok = 0;
|
|
int bad = 0;
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
{
|
|
++ok;
|
|
}
|
|
if (true ^^ expr) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
{
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
if (false == expr) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (true != expr) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
{
|
|
++ok;
|
|
}
|
|
if (expr ^^ true) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
{
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
if (expr == false) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (expr != true) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
if (expr) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
float a = sqrt(1.0);
|
|
float b = sqrt(2.0);
|
|
if (a == b) {
|
|
++bad;
|
|
} else {
|
|
++ok;
|
|
}
|
|
bool(a = b) || true;
|
|
if (a == b) {
|
|
++ok;
|
|
} else {
|
|
++bad;
|
|
}
|
|
return ok == 22 && bad == 0;
|
|
}
|
|
vec4 main() {
|
|
return test() ? colorGreen : colorRed;
|
|
}
|