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

Side by Side Diff: cc/layer_tree_host_impl.cc

Issue 11871008: cc: Stop using drawableContentRect for occlusion. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 11 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | cc/occlusion_tracker.h » ('j') | cc/occlusion_tracker_unittest.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2011 The Chromium Authors. All rights reserved. 1 // Copyright 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "cc/layer_tree_host_impl.h" 5 #include "cc/layer_tree_host_impl.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/debug/trace_event.h" 10 #include "base/debug/trace_event.h"
(...skipping 473 matching lines...) Expand 10 before | Expand all | Expand 10 after
484 484
485 AppendQuadsData appendQuadsData(targetRenderPass->id); 485 AppendQuadsData appendQuadsData(targetRenderPass->id);
486 486
487 if (it.representsContributingRenderSurface()) { 487 if (it.representsContributingRenderSurface()) {
488 RenderPass::Id contributingRenderPassId = it->renderSurface()->rende rPassId(); 488 RenderPass::Id contributingRenderPassId = it->renderSurface()->rende rPassId();
489 RenderPass* contributingRenderPass = frame.renderPassesById[contribu tingRenderPassId]; 489 RenderPass* contributingRenderPass = frame.renderPassesById[contribu tingRenderPassId];
490 appendQuadsForRenderSurfaceLayer(targetRenderPass, *it, contributing RenderPass, occlusionTracker, appendQuadsData); 490 appendQuadsForRenderSurfaceLayer(targetRenderPass, *it, contributing RenderPass, occlusionTracker, appendQuadsData);
491 } else if (it.representsItself() && !it->visibleContentRect().IsEmpty()) { 491 } else if (it.representsItself() && !it->visibleContentRect().IsEmpty()) {
492 bool hasOcclusionFromOutsideTargetSurface; 492 bool hasOcclusionFromOutsideTargetSurface;
493 bool implDrawTransformIsUnknown = false; 493 bool implDrawTransformIsUnknown = false;
494 if (occlusionTracker.occluded(it->renderTarget(), it->visibleContent Rect(), it->drawTransform(), implDrawTransformIsUnknown, it->drawableContentRect (), &hasOcclusionFromOutsideTargetSurface)) 494 if (occlusionTracker.occluded(it->renderTarget(), it->visibleContent Rect(), it->drawTransform(), implDrawTransformIsUnknown, it->isClipped(), it->cl ipRect(), &hasOcclusionFromOutsideTargetSurface))
495 appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclu sionFromOutsideTargetSurface; 495 appendQuadsData.hadOcclusionFromOutsideTargetSurface |= hasOcclu sionFromOutsideTargetSurface;
496 else { 496 else {
497 DCHECK_EQ(activeTree(), it->layerTreeImpl()); 497 DCHECK_EQ(activeTree(), it->layerTreeImpl());
498 it->willDraw(m_resourceProvider.get()); 498 it->willDraw(m_resourceProvider.get());
499 frame.willDrawLayers.push_back(*it); 499 frame.willDrawLayers.push_back(*it);
500 500
501 if (it->hasContributingDelegatedRenderPasses()) { 501 if (it->hasContributingDelegatedRenderPasses()) {
502 RenderPass::Id contributingRenderPassId = it->firstContribut ingRenderPassId(); 502 RenderPass::Id contributingRenderPassId = it->firstContribut ingRenderPassId();
503 while (frame.renderPassesById.find(contributingRenderPassId) != frame.renderPassesById.end()) { 503 while (frame.renderPassesById.find(contributingRenderPassId) != frame.renderPassesById.end()) {
504 RenderPass* renderPass = frame.renderPassesById[contribu tingRenderPassId]; 504 RenderPass* renderPass = frame.renderPassesById[contribu tingRenderPassId];
(...skipping 1166 matching lines...) Expand 10 before | Expand all | Expand 10 after
1671 } 1671 }
1672 1672
1673 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture() 1673 skia::RefPtr<SkPicture> LayerTreeHostImpl::capturePicture()
1674 { 1674 {
1675 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree(); 1675 LayerTreeImpl* tree = pendingTree() ? pendingTree() : activeTree();
1676 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer()); 1676 LayerImpl* layer = getNonCompositedContentLayerRecursive(tree->RootLayer());
1677 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>(); 1677 return layer ? layer->getPicture() : skia::RefPtr<SkPicture>();
1678 } 1678 }
1679 1679
1680 } // namespace cc 1680 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/occlusion_tracker.h » ('j') | cc/occlusion_tracker_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698