aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkAnalyticEdge.cpp
diff options
context:
space:
mode:
authorGravatar Yuqian Li <liyuqian@google.com>2016-11-14 11:51:41 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2016-11-14 17:38:05 +0000
commit0038b7feaaa3d2337b2e44938a11bd0f475cd525 (patch)
treec217efb2dcbc5e9e1cbaed1e8c01f19419dc1b27 /src/core/SkAnalyticEdge.cpp
parentefa62e1d5b74d3ef09c4cdddf871594aece267a1 (diff)
Remove accumulative snapping error
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=4769 Change-Id: Ie70bdc280c680c82f3b8a186466bf3a0835a9107 Reviewed-on: https://skia-review.googlesource.com/4769 Reviewed-by: Cary Clark <caryclark@google.com> Commit-Queue: Yuqian Li <liyuqian@google.com>
Diffstat (limited to 'src/core/SkAnalyticEdge.cpp')
-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 74047836fa..ee7eda7b52 100644
--- a/src/core/SkAnalyticEdge.cpp
+++ b/src/core/SkAnalyticEdge.cpp
@@ -135,13 +135,13 @@ bool SkAnalyticQuadraticEdge::updateQuadratic() {
if (--count > 0)
{
newx = oldx + (dx >> shift);
- newy = snapY(oldy + (dy >> shift));
+ newy = oldy + (dy >> shift);
slope = dy >> 10 > 0 ? quickSkFDot6Div(dx >> 10, dy >> 10) : SK_MaxS32;
if (SkAbs32(dy) >= SK_Fixed1 * 2) { // only snap when dy is large enough
newSnappedY = SkTMin<SkFixed>(fQEdge.fQLastY, SkFixedRoundToFixed(newy));
newSnappedX = newx + SkFixedMul_lowprec(slope, newSnappedY - newy);
} else {
- newSnappedY = newy;
+ newSnappedY = SkTMin(fQEdge.fQLastY, snapY(newy));
newSnappedX = newx;
}
dx += fQEdge.fQDDx;