e8b5a73b56
I ran into an issue in an upcoming CL which generated a particularly ugly switch statement: switch (x) { default: discard;} So I cleaned this up, and while resolving this issue, managed to improve a bunch of existing codegen as well. The formatting change has been split out to a separate CL since it impacts so many golden outputs. Change-Id: I7a6be29903c47560dcc7f6acd3ef15fd0c5c3c50 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/384179 Commit-Queue: John Stiles <johnstiles@google.com> Auto-Submit: John Stiles <johnstiles@google.com> Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
20 lines
580 B
GLSL
20 lines
580 B
GLSL
|
|
out vec4 sk_FragColor;
|
|
uniform vec4 colorGreen;
|
|
uniform vec4 colorRed;
|
|
vec4 main() {
|
|
vec4 value = colorGreen.yyyy * 2.5;
|
|
vec4 whole;
|
|
vec4 fraction;
|
|
bvec4 ok;
|
|
fraction.x = modf(value.x, whole.x);
|
|
ok.x = whole.x == 2.0 && fraction.x == 0.5;
|
|
fraction.xy = modf(value.xy, whole.xy);
|
|
ok.y = whole.y == 2.0 && fraction.y == 0.5;
|
|
fraction.xyz = modf(value.xyz, whole.xyz);
|
|
ok.z = whole.z == 2.0 && fraction.z == 0.5;
|
|
fraction = modf(value, whole);
|
|
ok.w = whole.w == 2.0 && fraction.w == 0.5;
|
|
return all(ok) ? colorGreen : colorRed;
|
|
}
|