Index: src/gpu/batches/GrPLSPathRenderer.cpp |
diff --git a/src/gpu/batches/GrPLSPathRenderer.cpp b/src/gpu/batches/GrPLSPathRenderer.cpp |
index a81b8831edee14c97dfcc86482dbd9e89b65878d..ba84d73a7b1810ca41c9875f36855ca340c97d03 100644 |
--- a/src/gpu/batches/GrPLSPathRenderer.cpp |
+++ b/src/gpu/batches/GrPLSPathRenderer.cpp |
@@ -777,9 +777,11 @@ private: |
bool GrPLSPathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const { |
// We have support for even-odd rendering, but are having some troublesome |
// seams. Disable in the presence of even-odd for now. |
+ SkPath path; |
+ args.fShape->asPath(&path); |
return args.fShaderCaps->shaderDerivativeSupport() && args.fAntiAlias && |
- args.fStyle->isSimpleFill() && !args.fPath->isInverseFillType() && |
- args.fPath->getFillType() == SkPath::FillType::kWinding_FillType; |
+ args.fShape->style().isSimpleFill() && !path.isInverseFillType() && |
+ path.getFillType() == SkPath::FillType::kWinding_FillType; |
} |
class PLSPathBatch : public GrVertexBatch { |
@@ -974,15 +976,13 @@ private: |
SkDEBUGCODE(bool inPLSDraw = false;) |
bool GrPLSPathRenderer::onDrawPath(const DrawPathArgs& args) { |
- if (args.fPath->isEmpty()) { |
- return true; |
- } |
+ SkASSERT(!args.fShape->isEmpty()) |
SkASSERT(!inPLSDraw); |
SkDEBUGCODE(inPLSDraw = true;) |
PLSPathBatch::Geometry geometry; |
geometry.fColor = args.fColor; |
geometry.fViewMatrix = *args.fViewMatrix; |
- geometry.fPath = *args.fPath; |
+ args.fShape->asPath(&geometry.fPath); |
SkAutoTUnref<GrDrawBatch> batch(PLSPathBatch::Create(geometry)); |