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 <stddef.h> | 7 #include <stddef.h> |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <algorithm> | 10 #include <algorithm> |
(...skipping 702 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
713 value->BeginArray("render_passes"); | 713 value->BeginArray("render_passes"); |
714 for (size_t i = 0; i < render_passes.size(); ++i) { | 714 for (size_t i = 0; i < render_passes.size(); ++i) { |
715 value->BeginDictionary(); | 715 value->BeginDictionary(); |
716 render_passes[i]->AsValueInto(value); | 716 render_passes[i]->AsValueInto(value); |
717 value->EndDictionary(); | 717 value->EndDictionary(); |
718 } | 718 } |
719 value->EndArray(); | 719 value->EndArray(); |
720 } | 720 } |
721 } | 721 } |
722 | 722 |
723 void LayerTreeHostImpl::FrameData::AppendRenderPass( | |
724 std::unique_ptr<RenderPass> render_pass) { | |
725 render_passes.push_back(std::move(render_pass)); | |
726 } | |
727 | |
728 DrawMode LayerTreeHostImpl::GetDrawMode() const { | 723 DrawMode LayerTreeHostImpl::GetDrawMode() const { |
729 if (resourceless_software_draw_) { | 724 if (resourceless_software_draw_) { |
730 return DRAW_MODE_RESOURCELESS_SOFTWARE; | 725 return DRAW_MODE_RESOURCELESS_SOFTWARE; |
731 } else if (compositor_frame_sink_->context_provider()) { | 726 } else if (compositor_frame_sink_->context_provider()) { |
732 return DRAW_MODE_HARDWARE; | 727 return DRAW_MODE_HARDWARE; |
733 } else { | 728 } else { |
734 return DRAW_MODE_SOFTWARE; | 729 return DRAW_MODE_SOFTWARE; |
735 } | 730 } |
736 } | 731 } |
737 | 732 |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
830 LayerImpl* render_surface_layer = | 825 LayerImpl* render_surface_layer = |
831 (*frame->render_surface_layer_list)[surface_index]; | 826 (*frame->render_surface_layer_list)[surface_index]; |
832 RenderSurfaceImpl* render_surface = | 827 RenderSurfaceImpl* render_surface = |
833 render_surface_layer->GetRenderSurface(); | 828 render_surface_layer->GetRenderSurface(); |
834 | 829 |
835 bool should_draw_into_render_pass = | 830 bool should_draw_into_render_pass = |
836 active_tree_->IsRootLayer(render_surface_layer) || | 831 active_tree_->IsRootLayer(render_surface_layer) || |
837 render_surface->contributes_to_drawn_surface() || | 832 render_surface->contributes_to_drawn_surface() || |
838 render_surface->HasCopyRequest(); | 833 render_surface->HasCopyRequest(); |
839 if (should_draw_into_render_pass) | 834 if (should_draw_into_render_pass) |
840 render_surface->AppendRenderPasses(frame); | 835 frame->render_passes.push_back(render_surface->CreateRenderPass()); |
841 } | 836 } |
842 | 837 |
843 // Damage rects for non-root passes aren't meaningful, so set them to be | 838 // Damage rects for non-root passes aren't meaningful, so set them to be |
844 // equal to the output rect. | 839 // equal to the output rect. |
845 for (size_t i = 0; i + 1 < frame->render_passes.size(); ++i) { | 840 for (size_t i = 0; i + 1 < frame->render_passes.size(); ++i) { |
846 RenderPass* pass = frame->render_passes[i].get(); | 841 RenderPass* pass = frame->render_passes[i].get(); |
847 pass->damage_rect = pass->output_rect; | 842 pass->damage_rect = pass->output_rect; |
848 } | 843 } |
849 | 844 |
850 // When we are displaying the HUD, change the root damage rect to cover the | 845 // When we are displaying the HUD, change the root damage rect to cover the |
(...skipping 3361 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4212 worker_context_visibility_ = | 4207 worker_context_visibility_ = |
4213 worker_context->CacheController()->ClientBecameVisible(); | 4208 worker_context->CacheController()->ClientBecameVisible(); |
4214 } else { | 4209 } else { |
4215 worker_context->CacheController()->ClientBecameNotVisible( | 4210 worker_context->CacheController()->ClientBecameNotVisible( |
4216 std::move(worker_context_visibility_)); | 4211 std::move(worker_context_visibility_)); |
4217 } | 4212 } |
4218 } | 4213 } |
4219 } | 4214 } |
4220 | 4215 |
4221 } // namespace cc | 4216 } // namespace cc |
OLD | NEW |