Chromium Code Reviews| 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 if (!quad.contents_changed_since_last_frame.IsEmpty()) { | |
| 705 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures have damage"); | |
|
danakj
2012/12/14 23:21:13
we could also early-out and return false in each o
| |
| 706 } else if (!m_renderer.haveCachedResourcesForRenderPassId(quad.render_pass_i d)) { | |
| 707 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures have no texture") ; | |
| 708 } else { | |
| 709 TRACE_EVENT0("cc", "CullRenderPassesWithCachedTextures dropped!"); | |
| 710 } | |
| 704 return quad.contents_changed_since_last_frame.IsEmpty() && m_renderer.haveCa chedResourcesForRenderPassId(quad.render_pass_id); | 711 return quad.contents_changed_since_last_frame.IsEmpty() && m_renderer.haveCa chedResourcesForRenderPassId(quad.render_pass_id); |
| 705 } | 712 } |
| 706 | 713 |
| 707 bool LayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass(cons t RenderPassDrawQuad& quad, const FrameData& frame) const | 714 bool LayerTreeHostImpl::CullRenderPassesWithNoQuads::shouldRemoveRenderPass(cons t RenderPassDrawQuad& quad, const FrameData& frame) const |
| 708 { | 715 { |
| 709 const RenderPass* renderPass = findRenderPassById(quad.render_pass_id, frame ); | 716 const RenderPass* renderPass = findRenderPassById(quad.render_pass_id, frame ); |
| 710 const RenderPassList& renderPasses = frame.renderPasses; | 717 const RenderPassList& renderPasses = frame.renderPasses; |
| 711 RenderPassList::const_iterator foundPass = std::find(renderPasses.begin(), r enderPasses.end(), renderPass); | 718 RenderPassList::const_iterator foundPass = std::find(renderPasses.begin(), r enderPasses.end(), renderPass); |
| 712 | 719 |
| 713 bool renderPassAlreadyRemoved = foundPass == renderPasses.end(); | 720 bool renderPassAlreadyRemoved = foundPass == renderPasses.end(); |
| (...skipping 1009 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1723 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController(); | 1730 ScrollbarAnimationController* scrollbarController = layer->scrollbarAnimatio nController(); |
| 1724 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); | 1731 double monotonicTime = (time - base::TimeTicks()).InSecondsF(); |
| 1725 if (scrollbarController && scrollbarController->animate(monotonicTime)) | 1732 if (scrollbarController && scrollbarController->animate(monotonicTime)) |
| 1726 m_client->setNeedsRedrawOnImplThread(); | 1733 m_client->setNeedsRedrawOnImplThread(); |
| 1727 | 1734 |
| 1728 for (size_t i = 0; i < layer->children().size(); ++i) | 1735 for (size_t i = 0; i < layer->children().size(); ++i) |
| 1729 animateScrollbarsRecursive(layer->children()[i], time); | 1736 animateScrollbarsRecursive(layer->children()[i], time); |
| 1730 } | 1737 } |
| 1731 | 1738 |
| 1732 } // namespace cc | 1739 } // namespace cc |
| OLD | NEW |