skia2/resources/sksl/folding/SelfAssignment.sksl

35 lines
562 B
Plaintext
Raw Normal View History

uniform half4 colorRed, colorGreen;
struct S {
half i;
half j;
};
half4 main(float2 coords) {
// 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]);
}