blob: 13b3a7d5d58bd1cb2a35aaa142a64d7ad624e249 [file] [log] [blame]
uniform half4 colorGreen, colorRed;
half4 main(float2 coords) {
const bool TRUE = true;
const bool FALSE = false;
bool ok = true;
// Literal test
ok = ok && (true ? true : false);
ok = ok && (false ? false : true);
// Constant boolean test
ok = ok && (TRUE ? true : false);
ok = ok && (FALSE ? false : true);
// Constant-foldable test
ok = ok && (1 == 1 ? true : false);
ok = ok && (0 == 1 ? false : true);
// Unknown-value test
ok = ok && (colorGreen.g == 1 ? true : false);
ok = ok && (colorGreen.r == 1 ? false : true);
// Composite comparison test.
ok = ok && (colorGreen.gr == colorRed.rg ? true : false);
ok = ok && (colorGreen.gr != colorRed.rg ? false : true);
// Test simplification of ternaries to logical-and/logical-or.
ok = ok && (colorGreen.gr == colorRed.rg ? true : (colorGreen.a != colorRed.a));
ok = ok && (colorGreen.gr != colorRed.rg ? (colorGreen.a == colorRed.a) : false);
return ok ? colorGreen : colorRed;
}