skia2/resources/sksl/folding/MatrixFoldingES2.sksl
John Stiles b41d5bb3a7 Add helper uniforms to Runtime Effect tests.
This lets us use descriptive names like `colorRed` and `colorGreen`
instead of `half4(1,0,0,1)` and `half4(0,1,0,1)`. It also lets us use
actual unknown values instead of synthesizing sorta-kinda-unknowns by
calling sqrt.

Change-Id: I61481c33b7ff42182955777b05cfa5fcc13e0efc
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/359567
Reviewed-by: Ethan Nicholas <ethannicholas@google.com>
Commit-Queue: John Stiles <johnstiles@google.com>
Auto-Submit: John Stiles <johnstiles@google.com>
2021-01-27 00:53:46 +00:00

30 lines
1.1 KiB
Plaintext

uniform half4 colorRed, colorGreen;
bool test() {
bool ok = true;
ok = ok && (float2x2(float2(1.0, 0.0), float2(0.0, 1.0)) ==
float2x2(float2(1.0, 0.0), float2(0.0, 1.0)));
ok = ok && !(float2x2(float2(1.0, 0.0), float2(1.0, 1.0)) ==
float2x2(float2(1.0, 0.0), float2(0.0, 1.0)));
ok = ok && (float2x2(1) == float2x2(1));
ok = ok && !(float2x2(1) == float2x2(0));
ok = ok && (float2x2(1) == float2x2(float2(1.0, 0.0), float2(0.0, 1.0)));
ok = ok && !(float2x2(2) == float2x2(float2(1.0, 0.0), float2(0.0, 1.0)));
ok = ok && !(float2x2(1) != float2x2(1));
ok = ok && (float2x2(1) != float2x2(0));
ok = ok && (float3x3(float3(1.0, 0.0, 0.0), float3(0.0, 1.0, 0.0), float3(0.0, 0.0, 0.0)) ==
float3x3(float2x2(1.0)));
ok = ok && (float2x2(float3x3(1.0)) == float2x2(1.0));
ok = ok && (float2x2(float4(1.0, 0.0, 0.0, 1.0)) == float2x2(1.0));
ok = ok && (float2x2(1.0, 0.0, float2(0.0, 1.0)) == float2x2(1.0));
ok = ok && (float2x2(float2(1.0, 0.0), 0.0, 1.0) == float2x2(1.0));
return ok;
}
half4 main() {
return test() ? colorGreen : colorRed;
}