Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(467)

Unified Diff: cc/CCLayerTreeHostImpl.cpp

Issue 10916307: Add the ubercomp DelegatedRendererLayer. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Use OwnPtrVector Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/CCLayerTreeHostCommon.cpp ('k') | cc/CCLayerTreeHostImplTest.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: cc/CCLayerTreeHostImpl.cpp
diff --git a/cc/CCLayerTreeHostImpl.cpp b/cc/CCLayerTreeHostImpl.cpp
index e91a7fcfea30cf470e1dd5c79944025ca208fb60..7168fe4ce276cc2d242492daf13e67b85259dace 100644
--- a/cc/CCLayerTreeHostImpl.cpp
+++ b/cc/CCLayerTreeHostImpl.cpp
@@ -291,7 +291,7 @@ bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
occlusionTracker.enterLayer(it);
- CCAppendQuadsData appendQuadsData;
+ CCAppendQuadsData appendQuadsData(targetRenderPass->id());
if (it.representsContributingRenderSurface()) {
CCRenderPass::Id contributingRenderPassId = it->renderSurface()->renderPassId();
@@ -304,6 +304,19 @@ bool CCLayerTreeHostImpl::calculateRenderPasses(FrameData& frame)
else {
it->willDraw(m_resourceProvider.get());
frame.willDrawLayers.append(*it);
+
+ if (it->hasContributingDelegatedRenderPasses()) {
+ CCRenderPass::Id contributingRenderPassId = it->firstContributingRenderPassId();
+ while (frame.renderPassesById.contains(contributingRenderPassId)) {
+ CCRenderPass* renderPass = frame.renderPassesById.get(contributingRenderPassId);
+
+ CCAppendQuadsData appendQuadsData(renderPass->id());
+ renderPass->appendQuadsForLayer(*it, &occlusionTracker, appendQuadsData);
+
+ contributingRenderPassId = it->nextContributingRenderPassId(contributingRenderPassId);
+ }
+ }
+
targetRenderPass->appendQuadsForLayer(*it, &occlusionTracker, appendQuadsData);
}
}
« no previous file with comments | « cc/CCLayerTreeHostCommon.cpp ('k') | cc/CCLayerTreeHostImplTest.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698