blob: a9f663992f4af71061a8f4be570dcda4fc84e03f [file] [log] [blame]
uniform half4 colorGreen;
uniform half4 colorRed;
uniform float2x2 testMatrix2x2;
half4 main(float2 xy)
{
bool ok = true;
int a = int(testMatrix2x2[0].x);
int b = int(testMatrix2x2[0].y);
float c = testMatrix2x2[1].x;
float d = testMatrix2x2[1].y;
int a_and_b = a & b;
int b_and_a = b & a;
ok = ok && a_and_b == b_and_a;
int a_or_b = a | b;
int b_or_a = b | a;
ok = ok && a_or_b == b_or_a;
int a_xor_b = a ^ b;
int b_xor_a = b ^ a;
ok = ok && a_xor_b == b_xor_a;
bool a_eq_b = a == b;
bool b_eq_a = b == a;
ok = ok && a_eq_b == b_eq_a;
bool a_neq_b = a != b;
bool b_neq_a = b != a;
ok = ok && a_neq_b == b_neq_a;
int a_add_b = a + b;
int b_add_a = b + a;
ok = ok && a_add_b == b_add_a;
float c_add_d = c + d;
float d_add_c = d + c;
ok = ok && c_add_d == d_add_c;
int a_mul_b = a * b;
int b_mul_a = b * a;
ok = ok && a_mul_b == b_mul_a;
float c_mul_d = c * d;
float d_mul_c = d * c;
ok = ok && c_mul_d == d_mul_c;
return half4(ok ? colorGreen : colorRed);
}