1cb93a386Sopenharmony_ci 2cb93a386Sopenharmony_ciout vec4 sk_FragColor; 3cb93a386Sopenharmony_ciuniform vec4 colorGreen; 4cb93a386Sopenharmony_ciuniform vec4 colorRed; 5cb93a386Sopenharmony_cistruct S { 6cb93a386Sopenharmony_ci int x; 7cb93a386Sopenharmony_ci int y; 8cb93a386Sopenharmony_ci}; 9cb93a386Sopenharmony_civec4 main() { 10cb93a386Sopenharmony_ci float f1[4] = float[4](1.0, 2.0, 3.0, 4.0); 11cb93a386Sopenharmony_ci float f2[4] = float[4](1.0, 2.0, 3.0, 4.0); 12cb93a386Sopenharmony_ci float f3[4] = float[4](1.0, 2.0, 3.0, -4.0); 13cb93a386Sopenharmony_ci ivec3 v1[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, 6)); 14cb93a386Sopenharmony_ci ivec3 v2[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, 6)); 15cb93a386Sopenharmony_ci ivec3 v3[2] = ivec3[2](ivec3(1, 2, 3), ivec3(4, 5, -6)); 16cb93a386Sopenharmony_ci mat2 m1[3] = mat2[3](mat2(1.0), mat2(2.0), mat2(3.0, 4.0, 5.0, 6.0)); 17cb93a386Sopenharmony_ci mat2 m2[3] = mat2[3](mat2(1.0), mat2(2.0), mat2(3.0, 4.0, 5.0, 6.0)); 18cb93a386Sopenharmony_ci mat2 m3[3] = mat2[3](mat2(1.0), mat2(2.0, 3.0, 4.0, 5.0), mat2(6.0)); 19cb93a386Sopenharmony_ci S s1[3] = S[3](S(1, 2), S(3, 4), S(5, 6)); 20cb93a386Sopenharmony_ci S s2[3] = S[3](S(1, 2), S(0, 0), S(5, 6)); 21cb93a386Sopenharmony_ci S s3[3] = S[3](S(1, 2), S(3, 4), S(5, 6)); 22cb93a386Sopenharmony_ci return ((((((f1 == f2 && f1 != f3) && v1 == v2) && v1 != v3) && m1 == m2) && m1 != m3) && s1 != s2) && s3 == s1 ? colorGreen : colorRed; 23cb93a386Sopenharmony_ci} 24