Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(213)

Side by Side Diff: cc/trees/layer_tree_host_impl.cc

Issue 2742743003: Delete RenderPassSink (Closed)
Patch Set: Refine unittest Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698