aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-03-19 21:26:35 +0000
committerGravatar commit-bot@chromium.org <commit-bot@chromium.org@2bbb7eff-a529-9590-31e7-b0007b416f81>2014-03-19 21:26:35 +0000
commit2472b3219e1dc111f17e077abce6debb025b0771 (patch)
tree14f49a88d1e5f7ea7ec80e618e991724e550e55d
parenteb9547c1d6a7bcc02778a7d26b7d05283c4074fa (diff)
Only use analytic effect-based clipping when AA is required by at least one element.
BUG=352718 R=robertphillips@google.com Author: bsalomon@google.com Review URL: https://codereview.chromium.org/204983003 git-svn-id: http://skia.googlecode.com/svn/trunk@13867 2bbb7eff-a529-9590-31e7-b0007b416f81
-rw-r--r--expectations/gm/ignored-tests.txt4
-rw-r--r--src/gpu/GrClipMaskManager.cpp2
2 files changed, 5 insertions, 1 deletions
diff --git a/expectations/gm/ignored-tests.txt b/expectations/gm/ignored-tests.txt
index d63d9806ff..4e64770388 100644
--- a/expectations/gm/ignored-tests.txt
+++ b/expectations/gm/ignored-tests.txt
@@ -47,6 +47,10 @@ rrect_draw_aa
rrect_clip_bw
rrect_clip_aa
+# bsalomon: This test changed imperceptibly on my windows laptop with an intel gpu
+# https://codereview.chromium.org/204983003/
+filltypespersp
+
# reed: https://codereview.chromium.org/190723004/
# This change removes an API that this GM was testing. If/when it lands and sticks,
# I will likely just delete the GM.
diff --git a/src/gpu/GrClipMaskManager.cpp b/src/gpu/GrClipMaskManager.cpp
index 96f4b209e3..2f60c45017 100644
--- a/src/gpu/GrClipMaskManager.cpp
+++ b/src/gpu/GrClipMaskManager.cpp
@@ -268,7 +268,7 @@ bool GrClipMaskManager::setupClipping(const GrClipData* clipDataIn,
SkVector clipToRTOffset = { SkIntToScalar(-clipDataIn->fOrigin.fX),
SkIntToScalar(-clipDataIn->fOrigin.fY) };
if (elements.isEmpty() ||
- this->installClipEffects(elements, are, clipToRTOffset, devBounds)) {
+ (requiresAA && this->installClipEffects(elements, are, clipToRTOffset, devBounds))) {
SkIRect scissorSpaceIBounds(clipSpaceIBounds);
scissorSpaceIBounds.offset(-clipDataIn->fOrigin);
if (NULL == devBounds ||