skia2/resources/sksl/shared/MatrixToVectorCast.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

28 lines
1.1 KiB
Plaintext

uniform half4 colorGreen, colorRed;
uniform half2x2 testMatrix2x2;
half4 main(float2 coords) {
const half2x2 mat1234 = half2x2(1, 2, 3, 4);
const half2x2 bmat1234 = half2x2(1, 0, 1, 0);
bool ok = true;
ok = ok && half4(testMatrix2x2) == half4(1, 2, 3, 4);
ok = ok && half4(half2x2(1, 2, 3, 4)) == half4(1, 2, 3, 4);
ok = ok && half4(mat1234) == half4(1, 2, 3, 4);
ok = ok && float4(testMatrix2x2) == float4(1, 2, 3, 4);
ok = ok && float4(half2x2(1, 2, 3, 4)) == float4(1, 2, 3, 4);
ok = ok && float4(mat1234) == float4(1, 2, 3, 4);
ok = ok && int4(testMatrix2x2) == int4(1, 2, 3, 4);
ok = ok && int4(half2x2(1, 2, 3, 4)) == int4(1, 2, 3, 4);
ok = ok && int4(mat1234) == int4(1, 2, 3, 4);
ok = ok && bool4(testMatrix2x2) == bool4(true, true, true, true);
ok = ok && bool4(half2x2(0, 1, 0, 1)) == bool4(false, true, false, true);
ok = ok && bool4(bmat1234) == bool4(true, false, true, false);
return ok ? colorGreen : colorRed;
}