skia2/tests/sksl/shared/Matrices.glsl
John Stiles 2654187396 Eliminate unused local variables during SkSL optimization.
This can eliminate const variables which have been completely folded
away, unnecessary synthetic variables created during codegen/inlining,
or code that simply didn't need to exist at all.

Change-Id: I37a65e455e6527a6a6c2f4dde918f48d84dc2638
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/383496
Commit-Queue: John Stiles <johnstiles@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-03-16 17:22:53 +00:00

31 lines
727 B
GLSL

out vec4 sk_FragColor;
uniform vec4 colorGreen;
uniform vec4 colorRed;
bool test_half() {
mat2 m1 = mat2(1.0, 2.0, 3.0, 4.0);
mat2 m3 = m1;
mat2 m4 = mat2(1.0);
m3 *= m4;
mat2 m5 = mat2(m1[0].x);
mat2 m6 = mat2(1.0, 2.0, 3.0, 4.0);
m6 += m5;
mat4 m10 = mat4(1.0);
mat4 m11 = mat4(2.0);
m11 -= m10;
return true;
}
vec4 main() {
mat2 _2_m1 = mat2(1.0, 2.0, 3.0, 4.0);
mat2 _4_m3 = _2_m1;
mat2 _5_m4 = mat2(1.0);
_4_m3 *= _5_m4;
mat2 _6_m5 = mat2(_2_m1[0].x);
mat2 _7_m6 = mat2(1.0, 2.0, 3.0, 4.0);
_7_m6 += _6_m5;
mat4 _10_m10 = mat4(1.0);
mat4 _11_m11 = mat4(2.0);
_11_m11 -= _10_m10;
return true && test_half() ? colorGreen : colorRed;
}