From 23463004dfbcaf8e0bbf28d405c69b45bca8d9c8 Mon Sep 17 00:00:00 2001 From: Ethan Nicholas Date: Wed, 28 Mar 2018 15:16:15 -0400 Subject: fixed type mismatches in SkSL comparison operators Bug: skia: Change-Id: I8f05088c561a80549264f7a65cb8161bbe7d8f4c Reviewed-on: https://skia-review.googlesource.com/116982 Reviewed-by: Chris Dalton Commit-Queue: Ethan Nicholas --- src/sksl/SkSLIRGenerator.cpp | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) (limited to 'src/sksl') 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 -- cgit v1.2.3