Relandx2 "Remove antialiasing control from GrPaint."
Fixes a bad merge.
This reverts commit 073285c0595d46205d1482cc19af2d7d891bfeae.
Change-Id: I5e92339d9b33d3a6dc58b9fcd2a1b3a5684e8f8a
Reviewed-on: https://skia-review.googlesource.com/5774
Reviewed-by: Brian Salomon <bsalomon@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
diff --git a/src/gpu/batches/GrDashLinePathRenderer.cpp b/src/gpu/batches/GrDashLinePathRenderer.cpp
index d2a420d..9304885 100644
--- a/src/gpu/batches/GrDashLinePathRenderer.cpp
+++ b/src/gpu/batches/GrDashLinePathRenderer.cpp
@@ -16,6 +16,9 @@
SkPoint pts[2];
bool inverted;
if (args.fShape->style().isDashed() && args.fShape->asLine(pts, &inverted)) {
+ if (args.fAAType == GrAAType::kMixedSamples) {
+ return false;
+ }
// We should never have an inverse dashed case.
SkASSERT(!inverted);
return GrDashingEffect::CanDrawDashLine(pts, args.fShape->style(), *args.fViewMatrix);
@@ -26,16 +29,19 @@
bool GrDashLinePathRenderer::onDrawPath(const DrawPathArgs& args) {
GR_AUDIT_TRAIL_AUTO_FRAME(args.fRenderTargetContext->auditTrail(),
"GrDashLinePathRenderer::onDrawPath");
- bool useHWAA = args.fRenderTargetContext->isUnifiedMultisampled();
- GrDashingEffect::AAMode aaMode;
- if (useHWAA) {
- // 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;
- } else if (args.fAntiAlias) {
- aaMode = GrDashingEffect::AAMode::kCoverage;
- } else {
- aaMode = GrDashingEffect::AAMode::kNone;
+ GrDashingEffect::AAMode aaMode = GrDashingEffect::AAMode::kNone;
+ switch (args.fAAType) {
+ case GrAAType::kNone:
+ break;
+ case GrAAType::kCoverage:
+ case GrAAType::kMixedSamples:
+ aaMode = GrDashingEffect::AAMode::kCoverage;
+ break;
+ case GrAAType::kMSAA:
+ // In this mode we will use aa between dashes but the outer border uses MSAA. Otherwise,
+ // we can wind up with external edges antialiased and internal edges unantialiased.
+ aaMode = GrDashingEffect::AAMode::kCoverageWithMSAA;
+ break;
}
SkPoint pts[2];
SkAssertResult(args.fShape->asLine(pts, nullptr));
@@ -48,7 +54,7 @@
return false;
}
- GrPipelineBuilder pipelineBuilder(*args.fPaint, useHWAA);
+ GrPipelineBuilder pipelineBuilder(*args.fPaint, args.fAAType);
pipelineBuilder.setUserStencil(args.fUserStencilSettings);
args.fRenderTargetContext->addDrawOp(pipelineBuilder, *args.fClip, batch.get());