skia2/resources/sksl/folding/SelfAssignment.sksl
John Stiles 9cfcb07d7a Fix alpha channel in SelfAssignment test.
This was being set to zero instead of one by mistake. Interestingly,
this was undetected by the CPU backend, but appears to matter sometimes
on the GPU side.

Change-Id: If827863f69c140f933696c6ff55c8a7095620c29
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/368858
Reviewed-by: Brian Osman <brianosman@google.com>
Commit-Queue: Brian Osman <brianosman@google.com>
2021-02-11 14:41:15 +00:00

35 lines
549 B
Plaintext

uniform half4 colorRed, colorGreen;
struct S {
half i;
half j;
};
half4 main() {
// All of these assignments can be preserved.
half4 x = half4(3, 2, 1, 0);
x.xyz = x.zyx;
S s;
s.i = 2;
s.j = 2;
s.i = s.j;
s.j = s.i;
half a[2];
a[0] = 1;
a[1] = 0;
a[1] = a[0];
// All of these assignments should be eliminated.
x.ay = x.ay;
x.xyz = x.xyz;
x = x;
s.i = s.i;
s.j = s.j;
a[0] = a[0];
a[1] = a[1];
return half4(x.w, s.i / s.j, a[0] - a[1], a[0] * a[1]);
}