aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar Brian Salomon <bsalomon@google.com>2017-12-04 09:02:35 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-04 14:43:34 +0000
commit45839f9cd1cbd2da72f13b4744b90f5acc42063d (patch)
tree14dd1ca0663a00dbc01e6660f7cd57c1ba9fc67c /src
parent8172c0a24a79f9b4c3e48c79759f0e0f7059ddf5 (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.cpp10
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;