xref: /aosp_15_r20/external/skia/resources/sksl/wgsl/Equality.sksl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1uniform float f1, f2, f3;
2uniform half h1, h2, h3;
3uniform float2 v1, v2, v3;
4uniform half2 hv1, hv2, hv3;
5uniform float2x2 m1, m2, m3;
6uniform half2x2 hm1, hm2, hm3;
7
8uniform half4 colorGreen, colorRed;
9
10// TODO(skia:13092): Test array equality.
11
12half4 main() {
13    bool ok = true;
14
15    // scalars
16    ok = ok && f1 == f2;
17    ok = ok && h1 == h2;
18    ok = ok && f1 == h2;
19    ok = ok && h1 == f2;
20    ok = ok && f1 != f3;
21    ok = ok && h1 != h3;
22    ok = ok && f1 != h3;
23    ok = ok && h1 != f3;
24
25    // vectors
26    ok = ok && v1  == v2;
27    ok = ok && hv1 == hv2;
28    ok = ok && v1  == hv2;
29    ok = ok && hv1 == v2;
30    ok = ok && v1  != v3;
31    ok = ok && hv1 != hv3;
32    ok = ok && v1  != hv3;
33    ok = ok && hv1 != v3;
34
35    // matrices
36    ok = ok &&  m1 == m2;
37    ok = ok && hm1 == hm2;
38    ok = ok &&  m1 == hm2;
39    ok = ok && hm1 == m2;
40    ok = ok &&  m1 != m3;
41    ok = ok && hm1 != hm3;
42    ok = ok &&  m1 != hm3;
43    ok = ok && hm1 != m3;
44
45    return ok ? colorGreen : colorRed;
46}
47