diff options
author | 2017-12-04 09:02:35 -0500 | |
---|---|---|
committer | 2017-12-04 14:43:34 +0000 | |
commit | 45839f9cd1cbd2da72f13b4744b90f5acc42063d (patch) | |
tree | 14dd1ca0663a00dbc01e6660f7cd57c1ba9fc67c /src | |
parent | 8172c0a24a79f9b4c3e48c79759f0e0f7059ddf5 (diff) |
Avoid coverage aa for filled drrects when using msaa.
Change-Id: If0ba4a2a3baa4cfae2aebb05bd61786918486874
Reviewed-on: https://skia-review.googlesource.com/79620
Reviewed-by: Robert Phillips <robertphillips@google.com>
Commit-Queue: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/gpu/GrRenderTargetContext.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/src/gpu/GrRenderTargetContext.cpp b/src/gpu/GrRenderTargetContext.cpp index aba2e1db29..c9cc3957a4 100644 --- a/src/gpu/GrRenderTargetContext.cpp +++ b/src/gpu/GrRenderTargetContext.cpp @@ -1226,7 +1226,13 @@ bool GrRenderTargetContext::drawFilledDRRect(const GrClip& clip, SkTCopyOnFirstWrite<SkRRect> inner(origInner), outer(origOuter); - if (aa == GrAA::kYes && inner->isCircle() && outer->isCircle()) { + GrAAType aaType = this->chooseAAType(aa, GrAllowMixedSamples::kNo); + + if (GrAAType::kMSAA == aaType) { + return false; + } + + if (GrAAType::kCoverage == aaType && inner->isCircle() && outer->isCircle()) { auto outerR = outer->width() / 2.f; auto innerR = inner->width() / 2.f; auto cx = outer->getBounds().fLeft + outerR; @@ -1246,8 +1252,6 @@ bool GrRenderTargetContext::drawFilledDRRect(const GrClip& clip, } } - GrAAType aaType = this->chooseAAType(aa, GrAllowMixedSamples::kNo); - GrClipEdgeType innerEdgeType, outerEdgeType; if (GrAAType::kCoverage == aaType) { innerEdgeType = GrClipEdgeType::kInverseFillAA; |