diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-30 21:42:02 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-10-30 21:42:02 +0000 |
commit | 710ffc0baaa8aea2878e5016a0c8985efb622cf2 (patch) | |
tree | 91e2e6a8d119770392c1845ee759b4de00d3b2f9 /cc/quad_culler.cc | |
parent | bfc15efd9e558d2a53ac4c6bdbfd88f40c33ebee (diff) | |
download | chromium_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.cc | 3 |
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; |