| uniform half4 colorGreen, colorRed; |
| |
| bool TrueTrue() { |
| int x = 1, y = 1; |
| if ((x == 1) && ((y += 1) == 2)) { // LHS true, RHS is executed and is true |
| return (x == 1 && y == 2); |
| } else { |
| return false; |
| } |
| } |
| |
| bool TrueFalse() { |
| int x = 1, y = 1; |
| if ((x == 1) && ((y += 1) == 3)) { // LHS true, RHS is executed and is false |
| return false; |
| } else { |
| return (x == 1 && y == 2); |
| } |
| } |
| |
| bool FalseTrue() { |
| int x = 1, y = 1; |
| if ((x == 2) && ((y += 1) == 2)) { // LHS false, RHS not executed but would be true |
| return false; |
| } else { |
| return (x == 1 && y == 1); |
| } |
| } |
| |
| bool FalseFalse() { |
| int x = 1, y = 1; |
| if ((x == 2) && ((y += 1) == 3)) { // LHS false, RHS not executed but would be false |
| return false; |
| } else { |
| return (x == 1 && y == 1); |
| } |
| } |
| |
| half4 main(float2) { |
| return TrueTrue() && TrueFalse() && FalseTrue() && FalseFalse() ? colorGreen : colorRed; |
| } |