diff options
author | Yuqian Li <liyuqian@google.com> | 2016-11-17 14:31:53 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2016-11-17 21:39:34 +0000 |
commit | c88fc74447300acccc3bbaf445c114ac17c2c8a6 (patch) | |
tree | 3367d6252df2100dc61db9dd3c6c92c26c9c30af /src | |
parent | 514baff8be7f71111aa7bfb9b099a096b31e16ec (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')
-rw-r--r-- | src/core/SkAnalyticEdge.cpp | 4 |
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; |