skia2/resources/sksl/shared/VectorToMatrixCast.sksl
John Stiles 49c417621b Shore up matrix/vector conversion tests.
The tests now check bool4-mat2 conversions, which fortunately do work,
and the vector-to-matrix tests include int and bool conversions as well.

Change-Id: I971271838a93081b9258deb7c1d13b7732fb2440
Bug: skia:12067
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/426757
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
2021-07-12 15:02:51 +00:00

29 lines
1.3 KiB
Plaintext

uniform half4 colorGreen, colorRed;
uniform half4 testInputs;
half4 main(float2 coords) {
bool ok = true;
const half4 vec1234 = half4(1, 2, 3, 4);
ok = ok && half2x2(testInputs) == half2x2(-1.25, 0, 0.75, 2.25);
ok = ok && half2x2(half4(1, 2, 3, 4)) == half2x2(1, 2, 3, 4);
ok = ok && half2x2(vec1234) == half2x2(1, 2, 3, 4);
ok = ok && float2x2(testInputs) == float2x2(-1.25, 0, 0.75, 2.25);
ok = ok && float2x2(half4(1, 2, 3, 4)) == float2x2(1, 2, 3, 4);
ok = ok && float2x2(vec1234) == float2x2(1, 2, 3, 4);
ok = ok && half2x2(colorGreen) == half2x2(0, 1, 0, 1);
ok = ok && half2x2(colorGreen) == half2x2(int4(0, 1, 0, 1));
ok = ok && half2x2(int4(colorGreen)) == half2x2(int4(0, 1, 0, 1));
ok = ok && half2x2(0, 1, 0, 1) == half2x2(int4(0, 1, 0, 1));
ok = ok && half2x2(colorGreen) == half2x2(false, true, false, true);
ok = ok && half2x2(colorGreen) == half2x2(bool4(false, true, false, true));
ok = ok && half2x2(bool4(colorGreen)) == half2x2(bool4(false, true, false, true));
ok = ok && half2x2(false, true, false, true) == half2x2(bool4(false, true, false, true));
return ok ? colorGreen : colorRed;
}