| 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/trees/layer_tree_host_impl.h" | 5 #include "cc/trees/layer_tree_host_impl.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <limits> | 8 #include <limits> |
| 9 | 9 |
| 10 #include "base/basictypes.h" | 10 #include "base/basictypes.h" |
| (...skipping 744 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 755 | 755 |
| 756 if (debug_state_.show_occluding_rects) { | 756 if (debug_state_.show_occluding_rects) { |
| 757 occlusion_tracker.set_occluding_screen_space_rects_container( | 757 occlusion_tracker.set_occluding_screen_space_rects_container( |
| 758 &frame->occluding_screen_space_rects); | 758 &frame->occluding_screen_space_rects); |
| 759 } | 759 } |
| 760 if (debug_state_.show_non_occluding_rects) { | 760 if (debug_state_.show_non_occluding_rects) { |
| 761 occlusion_tracker.set_non_occluding_screen_space_rects_container( | 761 occlusion_tracker.set_non_occluding_screen_space_rects_container( |
| 762 &frame->non_occluding_screen_space_rects); | 762 &frame->non_occluding_screen_space_rects); |
| 763 } | 763 } |
| 764 | 764 |
| 765 // Add quads to the Render passes in FrontToBack order to allow for testing | 765 // Add quads to the Render passes in front-to-back order to allow for testing |
| 766 // occlusion and performing culling during the tree walk. | 766 // occlusion and performing culling during the tree walk. |
| 767 typedef LayerIterator<LayerImpl, | 767 typedef LayerIterator<LayerImpl> LayerIteratorType; |
| 768 LayerImplList, | |
| 769 RenderSurfaceImpl, | |
| 770 LayerIteratorActions::FrontToBack> LayerIteratorType; | |
| 771 | 768 |
| 772 // Typically when we are missing a texture and use a checkerboard quad, we | 769 // Typically when we are missing a texture and use a checkerboard quad, we |
| 773 // still draw the frame. However when the layer being checkerboarded is moving | 770 // still draw the frame. However when the layer being checkerboarded is moving |
| 774 // due to an impl-animation, we drop the frame to avoid flashing due to the | 771 // due to an impl-animation, we drop the frame to avoid flashing due to the |
| 775 // texture suddenly appearing in the future. | 772 // texture suddenly appearing in the future. |
| 776 DrawSwapReadbackResult::DrawResult draw_result = | 773 DrawSwapReadbackResult::DrawResult draw_result = |
| 777 DrawSwapReadbackResult::DRAW_SUCCESS; | 774 DrawSwapReadbackResult::DRAW_SUCCESS; |
| 778 // When we have a copy request for a layer, we need to draw no matter | 775 // When we have a copy request for a layer, we need to draw no matter |
| 779 // what, as the layer may disappear after this frame. | 776 // what, as the layer may disappear after this frame. |
| 780 bool have_copy_request = false; | 777 bool have_copy_request = false; |
| (...skipping 2242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3023 swap_promise_monitor_.erase(monitor); | 3020 swap_promise_monitor_.erase(monitor); |
| 3024 } | 3021 } |
| 3025 | 3022 |
| 3026 void LayerTreeHostImpl::NotifySwapPromiseMonitorsOfSetNeedsRedraw() { | 3023 void LayerTreeHostImpl::NotifySwapPromiseMonitorsOfSetNeedsRedraw() { |
| 3027 std::set<SwapPromiseMonitor*>::iterator it = swap_promise_monitor_.begin(); | 3024 std::set<SwapPromiseMonitor*>::iterator it = swap_promise_monitor_.begin(); |
| 3028 for (; it != swap_promise_monitor_.end(); it++) | 3025 for (; it != swap_promise_monitor_.end(); it++) |
| 3029 (*it)->OnSetNeedsRedrawOnImpl(); | 3026 (*it)->OnSetNeedsRedrawOnImpl(); |
| 3030 } | 3027 } |
| 3031 | 3028 |
| 3032 } // namespace cc | 3029 } // namespace cc |
| OLD | NEW |