xref: /aosp_15_r20/external/skia/tests/sksl/shared/ArrayComparison.glsl (revision c8dee2aa9b3f27cf6c858bd81872bdeb2c07ed17)
1
2out vec4 sk_FragColor;
3uniform vec4 colorGreen;
4uniform vec4 colorRed;
5uniform float testArray[5];
6uniform float testArrayNegative[5];
7struct S {
8    int x;
9    int y;
10};
11vec4 main() {
12    float f1[5] = float[5](1.0, 2.0, 3.0, 4.0, 5.0);
13    float f2[5] = float[5](1.0, 2.0, 3.0, 4.0, 5.0);
14    float f3[5] = float[5](1.0, 2.0, 3.0, -4.0, 5.0);
15    ivec3 v1[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, 6));
16    ivec3 v2[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, 6));
17    ivec3 v3[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, -6));
18    mat2 m1[3] = mat2[3](mat2(1.0), mat2(2.0), mat2(3.0, 4.0, 5.0, 6.0));
19    mat2 m2[3] = mat2[3](mat2(1.0), mat2(2.0), mat2(3.0, 4.0, 5.0, 6.0));
20    mat2 m3[3] = mat2[3](mat2(1.0), mat2(2.0, 3.0, 4.0, 5.0), mat2(6.0));
21    S s1[3] = S[3](S(1, 2), S(3, 4), S(5, 6));
22    S s2[3] = S[3](S(1, 2), S(0, 0), S(5, 6));
23    S s3[3] = S[3](S(1, 2), S(3, 4), S(5, 6));
24    return (((((((((((f1 == f2 && f1 != f3) && testArray != testArrayNegative) && testArray == f1) && testArray != f3) && f1 == testArray) && f3 != testArray) && v1 == v2) && v1 != v3) && m1 == m2) && m1 != m3) && s1 != s2) && s3 == s1 ? colorGreen : colorRed;
25}
26