summaryrefslogtreecommitdiffstats
path: root/cc/output
diff options
context:
space:
mode:
authordanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 20:54:18 +0000
committerdanakj@chromium.org <danakj@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-06-10 20:54:18 +0000
commitd103d78637fd20062dfe2fec7276c368905b2c8a (patch)
treea7675d1eee13dfd65e8c54384fd441885d859bd3 /cc/output
parent475c5f1b2f69f32c454dcf32d75543d23c714d64 (diff)
downloadchromium_src-d103d78637fd20062dfe2fec7276c368905b2c8a.zip
chromium_src-d103d78637fd20062dfe2fec7276c368905b2c8a.tar.gz
chromium_src-d103d78637fd20062dfe2fec7276c368905b2c8a.tar.bz2
cc: Disable anti-aliasing in software compositor for tiled layers.
When an edge of a quad is internal to a layer, it should not be anti-aliased. Since we can't control this behaviour right now, we should just disable anti-aliasing on external edges as well in this case, to avoid rendering artifacts inside the layer along tile boundaries. R=enne@chromium.org BUG=248222 Review URL: https://codereview.chromium.org/16422003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@205304 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/output')
-rw-r--r--cc/output/software_renderer.cc9
1 files changed, 8 insertions, 1 deletions
diff --git a/cc/output/software_renderer.cc b/cc/output/software_renderer.cc
index 9884666..d6c598a 100644
--- a/cc/output/software_renderer.cc
+++ b/cc/output/software_renderer.cc
@@ -223,7 +223,14 @@ void SoftwareRenderer::DoDrawQuad(DrawingFrame* frame, const DrawQuad* quad) {
current_paint_.reset();
if (!IsScaleAndTranslate(sk_device_matrix)) {
- current_paint_.setAntiAlias(true);
+ // TODO(danakj): Until we can enable AA only on exterior edges of the
+ // layer, disable AA if any interior edges are present. crbug.com/248175
+ bool all_four_edges_are_exterior = quad->IsTopEdge() &&
+ quad->IsLeftEdge() &&
+ quad->IsBottomEdge() &&
+ quad->IsRightEdge();
+ if (all_four_edges_are_exterior)
+ current_paint_.setAntiAlias(true);
current_paint_.setFilterBitmap(true);
}