Index: src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp |
diff --git a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp |
index 720dc6345d5014cf3da0a4c9d66bfd386fbd14d0..3ab086119280fbc97cfa70fae398759bdeaa3212 100644 |
--- a/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp |
+++ b/src/effects/gradients/SkTwoPointConicalGradient_gpu.cpp |
@@ -785,7 +785,7 @@ static ConicalType set_matrix_circle_conical(const SkTwoPointConicalGradient& sh |
// to the edge shader. kEdgeErrorTol = 5 * kErrorTol was picked after manual testing |
// so that C = 1 / A is stable, and the linear approximation used in the Edge shader is |
// still accurate. |
- if (SkScalarAbs(A) < kEdgeErrorTol) { |
+ if (SkScalarAbs(centerEndTrans.length() - (radiusEnd - 1)) < kEdgeErrorTol) { |
return kEdge_ConicalType; |
} |