| 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 | 8 |
| 9 #include "base/basictypes.h" | 9 #include "base/basictypes.h" |
| 10 #include "base/json/json_writer.h" | 10 #include "base/json/json_writer.h" |
| (...skipping 732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 743 } | 743 } |
| 744 | 744 |
| 745 if (draw_frame) | 745 if (draw_frame) |
| 746 occlusion_tracker.overdraw_metrics()->RecordMetrics(this); | 746 occlusion_tracker.overdraw_metrics()->RecordMetrics(this); |
| 747 else | 747 else |
| 748 DCHECK(!have_copy_request); | 748 DCHECK(!have_copy_request); |
| 749 | 749 |
| 750 RemoveRenderPasses(CullRenderPassesWithNoQuads(), frame); | 750 RemoveRenderPasses(CullRenderPassesWithNoQuads(), frame); |
| 751 if (!output_surface_->ForcedDrawToSoftwareDevice()) | 751 if (!output_surface_->ForcedDrawToSoftwareDevice()) |
| 752 renderer_->DecideRenderPassAllocationsForFrame(frame->render_passes); | 752 renderer_->DecideRenderPassAllocationsForFrame(frame->render_passes); |
| 753 if (renderer_) { | 753 RemoveRenderPasses(CullRenderPassesWithCachedTextures(renderer_.get()), |
| 754 RemoveRenderPasses(CullRenderPassesWithCachedTextures(renderer_.get()), | 754 frame); |
| 755 frame); | |
| 756 } | |
| 757 | 755 |
| 758 // If we're making a frame to draw, it better have at least one render pass. | 756 // If we're making a frame to draw, it better have at least one render pass. |
| 759 DCHECK(!frame->render_passes.empty()); | 757 DCHECK(!frame->render_passes.empty()); |
| 760 return draw_frame; | 758 return draw_frame; |
| 761 } | 759 } |
| 762 | 760 |
| 763 void LayerTreeHostImpl::MainThreadHasStoppedFlinging() { | 761 void LayerTreeHostImpl::MainThreadHasStoppedFlinging() { |
| 764 if (input_handler_client_) | 762 if (input_handler_client_) |
| 765 input_handler_client_->MainThreadHasStoppedFlinging(); | 763 input_handler_client_->MainThreadHasStoppedFlinging(); |
| 766 } | 764 } |
| (...skipping 447 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1214 } | 1212 } |
| 1215 active_tree_->root_layer()->ResetAllChangeTrackingForSubtree(); | 1213 active_tree_->root_layer()->ResetAllChangeTrackingForSubtree(); |
| 1216 } | 1214 } |
| 1217 | 1215 |
| 1218 void LayerTreeHostImpl::DidDrawAllLayers(const FrameData& frame) { | 1216 void LayerTreeHostImpl::DidDrawAllLayers(const FrameData& frame) { |
| 1219 for (size_t i = 0; i < frame.will_draw_layers.size(); ++i) | 1217 for (size_t i = 0; i < frame.will_draw_layers.size(); ++i) |
| 1220 frame.will_draw_layers[i]->DidDraw(resource_provider_.get()); | 1218 frame.will_draw_layers[i]->DidDraw(resource_provider_.get()); |
| 1221 | 1219 |
| 1222 // Once all layers have been drawn, pending texture uploads should no | 1220 // Once all layers have been drawn, pending texture uploads should no |
| 1223 // longer block future uploads. | 1221 // longer block future uploads. |
| 1224 if (resource_provider_) | 1222 resource_provider_->MarkPendingUploadsAsNonBlocking(); |
| 1225 resource_provider_->MarkPendingUploadsAsNonBlocking(); | |
| 1226 } | 1223 } |
| 1227 | 1224 |
| 1228 void LayerTreeHostImpl::FinishAllRendering() { | 1225 void LayerTreeHostImpl::FinishAllRendering() { |
| 1229 if (renderer_) | 1226 if (renderer_) |
| 1230 renderer_->Finish(); | 1227 renderer_->Finish(); |
| 1231 } | 1228 } |
| 1232 | 1229 |
| 1233 bool LayerTreeHostImpl::IsContextLost() { | 1230 bool LayerTreeHostImpl::IsContextLost() { |
| 1234 DCHECK(proxy_->IsImplThread()); | 1231 DCHECK(proxy_->IsImplThread()); |
| 1235 return renderer_ && renderer_->IsContextLost(); | 1232 return renderer_ && renderer_->IsContextLost(); |
| (...skipping 1130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2366 } | 2363 } |
| 2367 | 2364 |
| 2368 void LayerTreeHostImpl::SetDebugState(const LayerTreeDebugState& debug_state) { | 2365 void LayerTreeHostImpl::SetDebugState(const LayerTreeDebugState& debug_state) { |
| 2369 if (debug_state_.continuous_painting != debug_state.continuous_painting) | 2366 if (debug_state_.continuous_painting != debug_state.continuous_painting) |
| 2370 paint_time_counter_->ClearHistory(); | 2367 paint_time_counter_->ClearHistory(); |
| 2371 | 2368 |
| 2372 debug_state_ = debug_state; | 2369 debug_state_ = debug_state; |
| 2373 } | 2370 } |
| 2374 | 2371 |
| 2375 } // namespace cc | 2372 } // namespace cc |
| OLD | NEW |