OLD | NEW |
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 683 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
694 if (currentQuad->material != DrawQuad::RENDER_PASS) | 694 if (currentQuad->material != DrawQuad::RENDER_PASS) |
695 continue; | 695 continue; |
696 | 696 |
697 RenderPass::Id nextRemoveRenderPassId = RenderPassDrawQuad::MaterialCast
(currentQuad)->render_pass_id; | 697 RenderPass::Id nextRemoveRenderPassId = RenderPassDrawQuad::MaterialCast
(currentQuad)->render_pass_id; |
698 removeRenderPassesRecursive(nextRemoveRenderPassId, frame); | 698 removeRenderPassesRecursive(nextRemoveRenderPassId, frame); |
699 } | 699 } |
700 } | 700 } |
701 | 701 |
702 bool LayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPa
ss(const RenderPassDrawQuad& quad, const FrameData&) const | 702 bool LayerTreeHostImpl::CullRenderPassesWithCachedTextures::shouldRemoveRenderPa
ss(const RenderPassDrawQuad& quad, const FrameData&) const |
703 { | 703 { |
704 return quad.contents_changed_since_last_frame.IsEmpty() && m_renderer.haveCa
chedResourcesForRenderPassId(quad.render_pass_id); | 704 if (!quad.contents_changed_since_last_frame.IsEmpty()) { |
| 705 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures have damage"); |
| 706 return false; |
| 707 } else if (!m_renderer.haveCachedResourcesForRenderPassId(quad.render_pass_i
d)) { |
| 708 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures have no texture")
; |
| 709 return false; |
| 710 } |
| 711 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures dropped!"); |
| 712 return true; |
705 } | 713 } |
706 | 714 |
707 bool LayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass(cons
t RenderPassDrawQuad& quad, const FrameData& frame) const | 715 bool LayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass(cons
t RenderPassDrawQuad& quad, const FrameData& frame) const |
708 { | 716 { |
709 const RenderPass* renderPass = findRenderPassById(quad.render_pass_id, frame
); | 717 const RenderPass* renderPass = findRenderPassById(quad.render_pass_id, frame
); |
710 const RenderPassList& renderPasses = frame.renderPasses; | 718 const RenderPassList& renderPasses = frame.renderPasses; |
711 RenderPassList::const_iterator foundPass = std::find(renderPasses.begin(), r
enderPasses.end(), renderPass); | 719 RenderPassList::const_iterator foundPass = std::find(renderPasses.begin(), r
enderPasses.end(), renderPass); |
712 | 720 |
713 bool renderPassAlreadyRemoved = foundPass == renderPasses.end(); | 721 bool renderPassAlreadyRemoved = foundPass == renderPasses.end(); |
714 if (renderPassAlreadyRemoved) | 722 if (renderPassAlreadyRemoved) |
(...skipping 1008 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1723 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio
nController(); | 1731 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio
nController(); |
1724 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); | 1732 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); |
1725 if (scrollbarController && scrollbarController->animate(monotonicTime)) | 1733 if (scrollbarController && scrollbarController->animate(monotonicTime)) |
1726 m_client->setNeedsRedrawOnImplThread(); | 1734 m_client->setNeedsRedrawOnImplThread(); |
1727 | 1735 |
1728 for (size_t i = 0; i < layer->children().size(); ++i) | 1736 for (size_t i = 0; i < layer->children().size(); ++i) |
1729 animateScrollbarsRecursive(layer->children()[i], time); | 1737 animateScrollbarsRecursive(layer->children()[i], time); |
1730 } | 1738 } |
1731 | 1739 |
1732 } // namespace cc | 1740 } // namespace cc |
OLD | NEW |