aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2016-11-17 14:31:53 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-17 21:39:34 +0000
commitc88fc74447300acccc3bbaf445c114ac17c2c8a6 (patch)
tree3367d6252df2100dc61db9dd3c6c92c26c9c30af /src/core
parent514baff8be7f71111aa7bfb9b099a096b31e16ec (diff)
Fix the quickSkFDot6Div range check
Our previous (1 << 10) limit is based on 2^32 being our maximum value. However, that's not the case because we have one more sign bit. Therefore I should make it (1 << 9). BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4973 Change-Id: I38acb627cdb2514d3e4996aef02480b389cf3588 Reviewed-on: https://skia-review.googlesource.com/4973 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src/core')
-rw-r--r--src/core/SkAnalyticEdge.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/core/SkAnalyticEdge.cpp b/src/core/SkAnalyticEdge.cpp
index 33e94e7824..17e3793ec0 100644
--- a/src/core/SkAnalyticEdge.cpp
+++ b/src/core/SkAnalyticEdge.cpp
@@ -23,8 +23,8 @@ public:
static inline SkFixed quickSkFDot6Div(SkFDot6 a, SkFDot6 b) {
// Max inverse of b is 2^6 which is 2^22 in SkFixed format.
- // Hence the safe value of abs(a) should be less than 2^10.
- if (SkAbs32(b) < kInverseTableSize && SkAbs32(a) < (1 << 10)) {
+ // Hence the safe value of abs(a) should be less than 2^9.
+ if (SkAbs32(b) < kInverseTableSize && SkAbs32(a) < (1 << 9)) {
SkASSERT((int64_t)a * QuickFDot6Inverse::Lookup(b) <= SK_MaxS32
&& (int64_t)a * QuickFDot6Inverse::Lookup(b) >= SK_MinS32);
SkFixed ourAnswer = (a * QuickFDot6Inverse::Lookup(b)) >> 6;