Adjust tolerance to fix bezier glitches issue
authorxidachen <xidachen@chromium.org>
Fri, 29 Apr 2016 01:25:25 +0000 (18:25 -0700)
committerCommit bot <commit-bot@chromium.org>
Fri, 29 Apr 2016 01:25:25 +0000 (18:25 -0700)
In a previous CL: https://codereview.chromium.org/1126793003, the value
of gDegenerateToLineTol was changed from 1.0 to 0.25 which caused the
bezier glitches.

This CL changes the value to SK_ScalarRoot2Over2, with this change the
bezier curve looks fine, and the result of the layout tests pointed out
in this bug: https://bugs.chromium.org/p/chromium/issues/detail?id=472847
is also reasonable.

BUG=605439
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1926063002

Review-Url: https://codereview.chromium.org/1926063002

src/gpu/batches/GrAAHairLinePathRenderer.cpp

index effd8c3b0ff935a6ba067b1efd1c2045fe9dc4c4..fd6500f7701af2f499edacd76cc1d344ec1e2bea 100644 (file)
@@ -170,7 +170,7 @@ static int chop_conic(const SkPoint src[3], SkConic dst[4], const SkScalar weigh
 // in this case approx the path with lines
 // otherwise returns 1
 static int is_degen_quad_or_conic(const SkPoint p[3], SkScalar* dsqd) {
-    static const SkScalar gDegenerateToLineTol = GrPathUtils::kDefaultTolerance;
+    static const SkScalar gDegenerateToLineTol = SK_ScalarRoot2Over2;
     static const SkScalar gDegenerateToLineTolSqd =
         SkScalarMul(gDegenerateToLineTol, gDegenerateToLineTol);