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 731 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
742 // texture suddenly appearing in the future. | 742 // texture suddenly appearing in the future. |
743 bool draw_frame = true; | 743 bool draw_frame = true; |
744 // When we have a copy request for a layer, we need to draw no matter | 744 // When we have a copy request for a layer, we need to draw no matter |
745 // what, as the layer may disappear after this frame. | 745 // what, as the layer may disappear after this frame. |
746 bool have_copy_request = false; | 746 bool have_copy_request = false; |
747 | 747 |
748 int layers_drawn = 0; | 748 int layers_drawn = 0; |
749 | 749 |
750 const DrawMode draw_mode = GetDrawMode(output_surface_.get()); | 750 const DrawMode draw_mode = GetDrawMode(output_surface_.get()); |
751 | 751 |
752 const bool prevent_occlusion = false; | |
753 LayerIteratorType end = | 752 LayerIteratorType end = |
754 LayerIteratorType::End(frame->render_surface_layer_list); | 753 LayerIteratorType::End(frame->render_surface_layer_list); |
755 for (LayerIteratorType it = | 754 for (LayerIteratorType it = |
756 LayerIteratorType::Begin(frame->render_surface_layer_list); | 755 LayerIteratorType::Begin(frame->render_surface_layer_list); |
757 it != end; | 756 it != end; |
758 ++it) { | 757 ++it) { |
759 RenderPass::Id target_render_pass_id = | 758 RenderPass::Id target_render_pass_id = |
760 it.target_render_surface_layer()->render_surface()->RenderPassId(); | 759 it.target_render_surface_layer()->render_surface()->RenderPassId(); |
761 RenderPass* target_render_pass = | 760 RenderPass* target_render_pass = |
762 frame->render_passes_by_id[target_render_pass_id]; | 761 frame->render_passes_by_id[target_render_pass_id]; |
763 | 762 |
764 occlusion_tracker.EnterLayer(it, prevent_occlusion); | 763 occlusion_tracker.EnterLayer(it); |
765 | 764 |
766 AppendQuadsData append_quads_data(target_render_pass_id); | 765 AppendQuadsData append_quads_data(target_render_pass_id); |
767 | 766 |
768 if (it.represents_target_render_surface()) { | 767 if (it.represents_target_render_surface()) { |
769 if (it->HasCopyRequest()) { | 768 if (it->HasCopyRequest()) { |
770 have_copy_request = true; | 769 have_copy_request = true; |
771 it->TakeCopyRequestsAndTransformToTarget( | 770 it->TakeCopyRequestsAndTransformToTarget( |
772 &target_render_pass->copy_requests); | 771 &target_render_pass->copy_requests); |
773 } | 772 } |
774 } else if (it.represents_contributing_render_surface() && | 773 } else if (it.represents_contributing_render_surface() && |
(...skipping 2068 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2843 if (evicted_ui_resources_.empty()) | 2842 if (evicted_ui_resources_.empty()) |
2844 client_->OnCanDrawStateChanged(CanDraw()); | 2843 client_->OnCanDrawStateChanged(CanDraw()); |
2845 } | 2844 } |
2846 | 2845 |
2847 void LayerTreeHostImpl::ScheduleMicroBenchmark( | 2846 void LayerTreeHostImpl::ScheduleMicroBenchmark( |
2848 scoped_ptr<MicroBenchmarkImpl> benchmark) { | 2847 scoped_ptr<MicroBenchmarkImpl> benchmark) { |
2849 micro_benchmark_controller_.ScheduleRun(benchmark.Pass()); | 2848 micro_benchmark_controller_.ScheduleRun(benchmark.Pass()); |
2850 } | 2849 } |
2851 | 2850 |
2852 } // namespace cc | 2851 } // namespace cc |
OLD | NEW |