summaryrefslogtreecommitdiffstats
path: root/cc/quad_culler.cc
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-30 21:42:02 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-10-30 21:42:02 +0000
commit710ffc0baaa8aea2878e5016a0c8985efb622cf2 (patch)
tree91e2e6a8d119770392c1845ee759b4de00d3b2f9 /cc/quad_culler.cc
parentbfc15efd9e558d2a53ac4c6bdbfd88f40c33ebee (diff)
downloadchromium_src-710ffc0baaa8aea2878e5016a0c8985efb622cf2.zip
chromium_src-710ffc0baaa8aea2878e5016a0c8985efb622cf2.tar.gz
chromium_src-710ffc0baaa8aea2878e5016a0c8985efb622cf2.tar.bz2
Fix clipping/culling for DelegatedRendererLayer*
OcclusionTracker::unoccludedContentRect was assuming that transform and clip for the quads matched the one from the layer, which is not true for delegated quads. Instead, explicitly pass transform & clip, and keep the old behavior as unoccludedLayerContentRect for tests. BUG=None Review URL: https://chromiumcodereview.appspot.com/11189133 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165017 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'cc/quad_culler.cc')
-rw-r--r--cc/quad_culler.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/cc/quad_culler.cc b/cc/quad_culler.cc
index 103489b..24c3d93 100644
--- a/cc/quad_culler.cc
+++ b/cc/quad_culler.cc
@@ -77,11 +77,12 @@ bool QuadCuller::append(scoped_ptr<DrawQuad> drawQuad, AppendQuadsData& appendQu
IntRect culledRect;
bool hasOcclusionFromOutsideTargetSurface;
+ bool implDrawTransformIsUnknown = false;
if (m_forSurface)
culledRect = m_occlusionTracker->unoccludedContributingSurfaceContentRect(m_layer, false, cc::IntRect(drawQuad->quadRect()), &hasOcclusionFromOutsideTargetSurface);
else
- culledRect = m_occlusionTracker->unoccludedContentRect(m_layer, cc::IntRect(drawQuad->quadRect()), &hasOcclusionFromOutsideTargetSurface);
+ culledRect = m_occlusionTracker->unoccludedContentRect(m_layer->renderTarget(), cc::IntRect(drawQuad->quadRect()), drawQuad->quadTransform(), implDrawTransformIsUnknown, cc::IntRect(drawQuad->clippedRectInTarget()), &hasOcclusionFromOutsideTargetSurface);
appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclusionFromOutsideTargetSurface;