511c500ad4
These variables were later being eliminated by the dead-code-elimination pass, so you can't see them directly in the final output, but removing them affects the name mangling off all future symbols, so it causes an enormous ripple effect in the diff. And of course, it's a waste of time and memory to synthesize IRNodes just to destroy them later. If we disable control-flow analysis, we lose the dead-code-elimination pass entirely; this change is also beneficial for emitting better code when optimizations are turned off. Change-Id: I882b3be4f3fd99b77d99b6abe128f26bb9252c89 Bug: skia:11319 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/375776 Commit-Queue: John Stiles <johnstiles@google.com> Reviewed-by: Brian Osman <brianosman@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
120 lines
1.8 KiB
GLSL
120 lines
1.8 KiB
GLSL
|
|
out vec4 sk_FragColor;
|
|
uniform vec4 colorRed;
|
|
uniform vec4 colorGreen;
|
|
uniform float unknownInput;
|
|
vec4 main() {
|
|
bool _0_expr = unknownInput > 0.0;
|
|
int _1_ok = 0;
|
|
int _2_bad = 0;
|
|
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
{
|
|
++_1_ok;
|
|
}
|
|
if (true ^^ _0_expr) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
{
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
if (false == _0_expr) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (true != _0_expr) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
{
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr ^^ true) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
{
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
if (_0_expr == false) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr != true) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
if (_0_expr) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
float _3_a = sqrt(1.0);
|
|
float _4_b = sqrt(2.0);
|
|
|
|
if (_3_a == _4_b) {
|
|
++_2_bad;
|
|
} else {
|
|
++_1_ok;
|
|
}
|
|
bool(_3_a = _4_b) || true;
|
|
if (_3_a == _4_b) {
|
|
++_1_ok;
|
|
} else {
|
|
++_2_bad;
|
|
}
|
|
return _1_ok == 22 && _2_bad == 0 ? colorGreen : colorRed;
|
|
|
|
}
|