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_in_process.h" | 5 #include "cc/trees/layer_tree_host_in_process.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 196 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 source_frame_number_(0), | 207 source_frame_number_(0), |
208 rendering_stats_instrumentation_(RenderingStatsInstrumentation::Create()), | 208 rendering_stats_instrumentation_(RenderingStatsInstrumentation::Create()), |
209 settings_(*params->settings), | 209 settings_(*params->settings), |
210 debug_state_(settings_.initial_debug_state), | 210 debug_state_(settings_.initial_debug_state), |
211 visible_(false), | 211 visible_(false), |
212 has_gpu_rasterization_trigger_(false), | 212 has_gpu_rasterization_trigger_(false), |
213 content_is_suitable_for_gpu_rasterization_(true), | 213 content_is_suitable_for_gpu_rasterization_(true), |
214 gpu_rasterization_histogram_recorded_(false), | 214 gpu_rasterization_histogram_recorded_(false), |
215 did_complete_scale_animation_(false), | 215 did_complete_scale_animation_(false), |
216 id_(s_layer_tree_host_sequence_number.GetNext() + 1), | 216 id_(s_layer_tree_host_sequence_number.GetNext() + 1), |
217 next_commit_forces_redraw_(false), | |
218 shared_bitmap_manager_(params->shared_bitmap_manager), | 217 shared_bitmap_manager_(params->shared_bitmap_manager), |
219 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager), | 218 gpu_memory_buffer_manager_(params->gpu_memory_buffer_manager), |
220 task_graph_runner_(params->task_graph_runner), | 219 task_graph_runner_(params->task_graph_runner), |
221 image_serialization_processor_(params->image_serialization_processor) { | 220 image_serialization_processor_(params->image_serialization_processor) { |
222 DCHECK(task_graph_runner_); | 221 DCHECK(task_graph_runner_); |
223 DCHECK(layer_tree_); | 222 DCHECK(layer_tree_); |
224 | 223 |
225 rendering_stats_instrumentation_->set_record_rendering_stats( | 224 rendering_stats_instrumentation_->set_record_rendering_stats( |
226 debug_state_.RecordRenderingStats()); | 225 debug_state_.RecordRenderingStats()); |
227 } | 226 } |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
437 LayerTreeHostCommon::CallFunctionForEveryLayer( | 436 LayerTreeHostCommon::CallFunctionForEveryLayer( |
438 layer_tree_.get(), [](Layer* layer) { layer->DidBeginTracing(); }); | 437 layer_tree_.get(), [](Layer* layer) { layer->DidBeginTracing(); }); |
439 } | 438 } |
440 | 439 |
441 LayerTreeImpl* sync_tree = host_impl->sync_tree(); | 440 LayerTreeImpl* sync_tree = host_impl->sync_tree(); |
442 | 441 |
443 if (next_commit_forces_redraw_) { | 442 if (next_commit_forces_redraw_) { |
444 sync_tree->ForceRedrawNextActivation(); | 443 sync_tree->ForceRedrawNextActivation(); |
445 next_commit_forces_redraw_ = false; | 444 next_commit_forces_redraw_ = false; |
446 } | 445 } |
| 446 if (next_commit_forces_recalculate_raster_scales_) { |
| 447 sync_tree->ForceRecalculateRasterScales(); |
| 448 next_commit_forces_recalculate_raster_scales_ = false; |
| 449 } |
447 | 450 |
448 sync_tree->set_source_frame_number(SourceFrameNumber()); | 451 sync_tree->set_source_frame_number(SourceFrameNumber()); |
449 | 452 |
450 if (layer_tree_->needs_full_tree_sync()) | 453 if (layer_tree_->needs_full_tree_sync()) |
451 TreeSynchronizer::SynchronizeTrees(layer_tree_->root_layer(), sync_tree); | 454 TreeSynchronizer::SynchronizeTrees(layer_tree_->root_layer(), sync_tree); |
452 | 455 |
453 layer_tree_->PushPropertiesTo(sync_tree); | 456 layer_tree_->PushPropertiesTo(sync_tree); |
454 | 457 |
455 sync_tree->PassSwapPromises(swap_promise_manager_.TakeSwapPromises()); | 458 sync_tree->PassSwapPromises(swap_promise_manager_.TakeSwapPromises()); |
456 | 459 |
(...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
597 void LayerTreeHostInProcess::SetNeedsUpdateLayers() { | 600 void LayerTreeHostInProcess::SetNeedsUpdateLayers() { |
598 proxy_->SetNeedsUpdateLayers(); | 601 proxy_->SetNeedsUpdateLayers(); |
599 swap_promise_manager_.NotifySwapPromiseMonitorsOfSetNeedsCommit(); | 602 swap_promise_manager_.NotifySwapPromiseMonitorsOfSetNeedsCommit(); |
600 } | 603 } |
601 | 604 |
602 void LayerTreeHostInProcess::SetNeedsCommit() { | 605 void LayerTreeHostInProcess::SetNeedsCommit() { |
603 proxy_->SetNeedsCommit(); | 606 proxy_->SetNeedsCommit(); |
604 swap_promise_manager_.NotifySwapPromiseMonitorsOfSetNeedsCommit(); | 607 swap_promise_manager_.NotifySwapPromiseMonitorsOfSetNeedsCommit(); |
605 } | 608 } |
606 | 609 |
| 610 void LayerTreeHostInProcess::SetNeedsRecalculateRasterScales() { |
| 611 next_commit_forces_recalculate_raster_scales_ = true; |
| 612 proxy_->SetNeedsCommit(); |
| 613 } |
| 614 |
607 void LayerTreeHostInProcess::SetNeedsRedraw() { | 615 void LayerTreeHostInProcess::SetNeedsRedraw() { |
608 SetNeedsRedrawRect(gfx::Rect(layer_tree_->device_viewport_size())); | 616 SetNeedsRedrawRect(gfx::Rect(layer_tree_->device_viewport_size())); |
609 } | 617 } |
610 | 618 |
611 void LayerTreeHostInProcess::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { | 619 void LayerTreeHostInProcess::SetNeedsRedrawRect(const gfx::Rect& damage_rect) { |
612 proxy_->SetNeedsRedraw(damage_rect); | 620 proxy_->SetNeedsRedraw(damage_rect); |
613 } | 621 } |
614 | 622 |
615 bool LayerTreeHostInProcess::CommitRequested() const { | 623 bool LayerTreeHostInProcess::CommitRequested() const { |
616 return proxy_->CommitRequested(); | 624 return proxy_->CommitRequested(); |
(...skipping 410 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1027 | 1035 |
1028 debug_state_.FromProtobuf(proto.debug_state()); | 1036 debug_state_.FromProtobuf(proto.debug_state()); |
1029 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); | 1037 has_gpu_rasterization_trigger_ = proto.has_gpu_rasterization_trigger(); |
1030 content_is_suitable_for_gpu_rasterization_ = | 1038 content_is_suitable_for_gpu_rasterization_ = |
1031 proto.content_is_suitable_for_gpu_rasterization(); | 1039 proto.content_is_suitable_for_gpu_rasterization(); |
1032 id_ = proto.id(); | 1040 id_ = proto.id(); |
1033 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); | 1041 next_commit_forces_redraw_ = proto.next_commit_forces_redraw(); |
1034 } | 1042 } |
1035 | 1043 |
1036 } // namespace cc | 1044 } // namespace cc |
OLD | NEW |