Index: src/gpu/batches/GrTessellatingPathRenderer.cpp |
diff --git a/src/gpu/batches/GrTessellatingPathRenderer.cpp b/src/gpu/batches/GrTessellatingPathRenderer.cpp |
index 6bc8549e30a61720eddc3eacf52646c3ad99e19d..060e3f0adfe1462c479b24585b298f23bb766c50 100644 |
--- a/src/gpu/batches/GrTessellatingPathRenderer.cpp |
+++ b/src/gpu/batches/GrTessellatingPathRenderer.cpp |
@@ -109,9 +109,10 @@ bool GrTessellatingPathRenderer::onCanDrawPath(const CanDrawPathArgs& args) cons |
// not do antialiasing. It can do convex and concave paths, but we'll leave the convex ones to |
// simpler algorithms. Similary, we skip the non-hairlines that can be treated as hairline. |
// An arbitrary path effect could produce a hairline result so we pass on those. |
- return !IsStrokeHairlineOrEquivalent(*args.fStyle, *args.fViewMatrix, nullptr) && |
- !args.fStyle->strokeRec().isHairlineStyle() && |
- !args.fStyle->hasNonDashPathEffect() && !args.fAntiAlias && !args.fPath->isConvex(); |
+ return !IsStrokeHairlineOrEquivalent(args.fShape->style(), *args.fViewMatrix, nullptr) && |
+ !args.fShape->style().strokeRec().isHairlineStyle() && |
+ !args.fShape->style().hasNonDashPathEffect() && !args.fAntiAlias && |
+ !args.fShape->knownToBeConvex(); |
} |
class TessellatingPathBatch : public GrVertexBatch { |
@@ -292,8 +293,11 @@ bool GrTessellatingPathRenderer::onDrawPath(const DrawPathArgs& args) { |
return false; |
} |
vmi.mapRect(&clipBounds); |
- SkAutoTUnref<GrDrawBatch> batch(TessellatingPathBatch::Create(args.fColor, *args.fPath, |
- *args.fStyle, *args.fViewMatrix, |
+ SkPath path; |
+ args.fShape->asPath(&path); |
+ SkAutoTUnref<GrDrawBatch> batch(TessellatingPathBatch::Create(args.fColor, path, |
+ args.fShape->style(), |
+ *args.fViewMatrix, |
clipBounds)); |
GrPipelineBuilder pipelineBuilder(*args.fPaint, args.fDrawContext->mustUseHWAA(*args.fPaint)); |