| Index: src/gpu/batches/GrDashLinePathRenderer.cpp
|
| diff --git a/src/gpu/batches/GrDashLinePathRenderer.cpp b/src/gpu/batches/GrDashLinePathRenderer.cpp
|
| index f2b75be1081bef6048b115c21686522578e30e8b..b948fbcd94c3c06549b5f68d4007dcbbfbea10b3 100644
|
| --- a/src/gpu/batches/GrDashLinePathRenderer.cpp
|
| +++ b/src/gpu/batches/GrDashLinePathRenderer.cpp
|
| @@ -9,7 +9,6 @@
|
|
|
| #include "GrAuditTrail.h"
|
| #include "GrGpu.h"
|
| -#include "GrPipelineBuilder.h"
|
| #include "effects/GrDashingEffect.h"
|
|
|
| bool GrDashLinePathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const {
|
| @@ -26,9 +25,15 @@ bool GrDashLinePathRenderer::onCanDrawPath(const CanDrawPathArgs& args) const {
|
| bool GrDashLinePathRenderer::onDrawPath(const DrawPathArgs& args) {
|
| GR_AUDIT_TRAIL_AUTO_FRAME(args.fDrawContext->auditTrail(),
|
| "GrDashLinePathRenderer::onDrawPath");
|
| +
|
| + SkTCopyOnFirstWrite<GrPaint> paint(*args.fPaint);
|
| +
|
| bool useHWAA = args.fDrawContext->isUnifiedMultisampled();
|
| GrDashingEffect::AAMode aaMode;
|
| if (useHWAA) {
|
| + if (!paint->isAntiAlias()) {
|
| + paint.writable()->setAntiAlias(true);
|
| + }
|
| // We ignore args.fAntiAlias here and force anti aliasing when using MSAA. Otherwise,
|
| // we can wind up with external edges antialiased and internal edges unantialiased.
|
| aaMode = GrDashingEffect::AAMode::kCoverageWithMSAA;
|
| @@ -48,9 +53,7 @@ bool GrDashLinePathRenderer::onDrawPath(const DrawPathArgs& args) {
|
| return false;
|
| }
|
|
|
| - GrPipelineBuilder pipelineBuilder(*args.fPaint, useHWAA);
|
| - pipelineBuilder.setUserStencil(args.fUserStencilSettings);
|
| -
|
| - args.fDrawContext->drawBatch(pipelineBuilder, *args.fClip, batch);
|
| + SkASSERT(args.fDrawContext->mustUseHWAA(*paint) == useHWAA);
|
| + args.fDrawContext->drawBatch(*paint, *args.fClip, *args.fUserStencilSettings, batch);
|
| return true;
|
| }
|
|
|