Index: src/gpu/GrOvalRenderer.cpp |
diff --git a/src/gpu/GrOvalRenderer.cpp b/src/gpu/GrOvalRenderer.cpp |
index bc85f94228efa2d9b52960db558bd638c29b7764..5779f8ac4c7dd67b5a7fb511ebd6ab5e335a06a7 100644 |
--- a/src/gpu/GrOvalRenderer.cpp |
+++ b/src/gpu/GrOvalRenderer.cpp |
@@ -297,7 +297,7 @@ public: |
// avoid calling inversesqrt on zero. |
fragBuilder->codeAppend("grad_dot = max(grad_dot, 1.0e-4);"); |
fragBuilder->codeAppend("float invlen = inversesqrt(grad_dot);"); |
- fragBuilder->codeAppend("float edgeAlpha = clamp(-test*invlen, 0.0, 1.0);"); |
+ fragBuilder->codeAppend("float edgeAlpha = clamp(0.5-test*invlen, 0.0, 1.0);"); |
// for inner curve |
if (ee.isStroked()) { |
@@ -1081,8 +1081,8 @@ static GrDrawBatch* create_ellipse_batch(GrColor color, |
// We've extended the outer x radius out half a pixel to antialias. |
// This will also expand the rect so all the pixels will be captured. |
// TODO: Consider if we should use sqrt(2)/2 instead |
- xRadius += SK_ScalarHalf; |
- yRadius += SK_ScalarHalf; |
+ SkScalar geoXRadius = xRadius + SK_ScalarHalf; |
+ SkScalar geoYRadius = yRadius + SK_ScalarHalf; |
EllipseBatch::Geometry geometry; |
geometry.fViewMatrix = viewMatrix; |
@@ -1092,8 +1092,8 @@ static GrDrawBatch* create_ellipse_batch(GrColor color, |
geometry.fInnerXRadius = innerXRadius; |
geometry.fInnerYRadius = innerYRadius; |
geometry.fStroke = isStrokeOnly && innerXRadius > 0 && innerYRadius > 0; |
- geometry.fDevBounds = SkRect::MakeLTRB(center.fX - xRadius, center.fY - yRadius, |
- center.fX + xRadius, center.fY + yRadius); |
+ geometry.fDevBounds = SkRect::MakeLTRB(center.fX - geoXRadius, center.fY - geoYRadius, |
+ center.fX + geoXRadius, center.fY + geoYRadius); |
return EllipseBatch::Create(geometry); |
} |