aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/sksl/SkSLIRGenerator.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sksl/SkSLIRGenerator.cpp')
-rw-r--r--src/sksl/SkSLIRGenerator.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/sksl/SkSLIRGenerator.cpp b/src/sksl/SkSLIRGenerator.cpp
index 815ec152cd..56d8e5e952 100644
--- a/src/sksl/SkSLIRGenerator.cpp
+++ b/src/sksl/SkSLIRGenerator.cpp
@@ -1092,15 +1092,18 @@ static bool determine_binary_type(const Context& context,
return right.canCoerceTo(left);
case Token::EQEQ: // fall through
case Token::NEQ:
- if (left == right) {
+ if (right.canCoerceTo(left)) {
*outLeftType = &left;
+ *outRightType = &left;
+ *outResultType = context.fBool_Type.get();
+ return true;
+ } if (left.canCoerceTo(right)) {
+ *outLeftType = &right;
*outRightType = &right;
*outResultType = context.fBool_Type.get();
return true;
}
- isLogical = true;
- validMatrixOrVectorOp = true;
- break;
+ return false;
case Token::LT: // fall through
case Token::GT: // fall through
case Token::LTEQ: // fall through