| 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/thread_proxy.h" | 5 #include "cc/trees/thread_proxy.h" |
| 6 | 6 |
| 7 #include <string> | 7 #include <string> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/bind.h" | 10 #include "base/bind.h" |
| (...skipping 866 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 877 } | 877 } |
| 878 | 878 |
| 879 layer_tree_host_->CommitComplete(); | 879 layer_tree_host_->CommitComplete(); |
| 880 layer_tree_host_->DidBeginFrame(); | 880 layer_tree_host_->DidBeginFrame(); |
| 881 } | 881 } |
| 882 | 882 |
| 883 void ThreadProxy::StartCommitOnImplThread( | 883 void ThreadProxy::StartCommitOnImplThread( |
| 884 CompletionEvent* completion, | 884 CompletionEvent* completion, |
| 885 ResourceUpdateQueue* raw_queue, | 885 ResourceUpdateQueue* raw_queue, |
| 886 scoped_refptr<cc::ContextProvider> offscreen_context_provider) { | 886 scoped_refptr<cc::ContextProvider> offscreen_context_provider) { |
| 887 scoped_ptr<ResourceUpdateQueue> queue(raw_queue); | |
| 888 | |
| 889 TRACE_EVENT0("cc", "ThreadProxy::StartCommitOnImplThread"); | 887 TRACE_EVENT0("cc", "ThreadProxy::StartCommitOnImplThread"); |
| 890 DCHECK(!commit_completion_event_on_impl_thread_); | 888 DCHECK(!commit_completion_event_on_impl_thread_); |
| 891 DCHECK(IsImplThread() && IsMainThreadBlocked()); | 889 DCHECK(IsImplThread() && IsMainThreadBlocked()); |
| 892 DCHECK(scheduler_on_impl_thread_); | 890 DCHECK(scheduler_on_impl_thread_); |
| 893 DCHECK(scheduler_on_impl_thread_->CommitPending()); | 891 DCHECK(scheduler_on_impl_thread_->CommitPending()); |
| 894 | 892 |
| 895 if (!layer_tree_host_impl_) { | 893 if (!layer_tree_host_impl_) { |
| 896 TRACE_EVENT0("cc", "EarlyOut_NoLayerTree"); | 894 TRACE_EVENT0("cc", "EarlyOut_NoLayerTree"); |
| 897 completion->Signal(); | 895 completion->Signal(); |
| 898 return; | 896 return; |
| 899 } | 897 } |
| 900 | 898 |
| 899 scoped_ptr<ResourceUpdateQueue> queue(raw_queue); |
| 900 |
| 901 if (offscreen_context_provider.get()) | 901 if (offscreen_context_provider.get()) |
| 902 offscreen_context_provider->BindToCurrentThread(); | 902 offscreen_context_provider->BindToCurrentThread(); |
| 903 layer_tree_host_impl_->SetOffscreenContextProvider( | 903 layer_tree_host_impl_->SetOffscreenContextProvider( |
| 904 offscreen_context_provider); | 904 offscreen_context_provider); |
| 905 | 905 |
| 906 if (layer_tree_host_->contents_texture_manager()) { | 906 if (layer_tree_host_->contents_texture_manager()) { |
| 907 if (layer_tree_host_->contents_texture_manager()-> | 907 if (layer_tree_host_->contents_texture_manager()-> |
| 908 LinkedEvictedBackingsExist()) { | 908 LinkedEvictedBackingsExist()) { |
| 909 // Clear any uploads we were making to textures linked to evicted | 909 // Clear any uploads we were making to textures linked to evicted |
| 910 // resources | 910 // resources |
| (...skipping 400 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1311 } | 1311 } |
| 1312 | 1312 |
| 1313 void ThreadProxy::InitializeImplOnImplThread(CompletionEvent* completion) { | 1313 void ThreadProxy::InitializeImplOnImplThread(CompletionEvent* completion) { |
| 1314 TRACE_EVENT0("cc", "ThreadProxy::InitializeImplOnImplThread"); | 1314 TRACE_EVENT0("cc", "ThreadProxy::InitializeImplOnImplThread"); |
| 1315 DCHECK(IsImplThread()); | 1315 DCHECK(IsImplThread()); |
| 1316 layer_tree_host_impl_ = layer_tree_host_->CreateLayerTreeHostImpl(this); | 1316 layer_tree_host_impl_ = layer_tree_host_->CreateLayerTreeHostImpl(this); |
| 1317 const LayerTreeSettings& settings = layer_tree_host_->settings(); | 1317 const LayerTreeSettings& settings = layer_tree_host_->settings(); |
| 1318 SchedulerSettings scheduler_settings; | 1318 SchedulerSettings scheduler_settings; |
| 1319 scheduler_settings.deadline_scheduling_enabled = | 1319 scheduler_settings.deadline_scheduling_enabled = |
| 1320 settings.deadline_scheduling_enabled; | 1320 settings.deadline_scheduling_enabled; |
| 1321 scheduler_settings.start_commit_before_draw_enabled = |
| 1322 settings.start_commit_before_draw_enabled; |
| 1323 scheduler_settings.start_commit_before_activate_enabled = |
| 1324 settings.start_commit_before_activate_enabled; |
| 1321 scheduler_settings.impl_side_painting = settings.impl_side_painting; | 1325 scheduler_settings.impl_side_painting = settings.impl_side_painting; |
| 1322 scheduler_settings.timeout_and_draw_when_animation_checkerboards = | 1326 scheduler_settings.timeout_and_draw_when_animation_checkerboards = |
| 1323 settings.timeout_and_draw_when_animation_checkerboards; | 1327 settings.timeout_and_draw_when_animation_checkerboards; |
| 1324 scheduler_settings.maximum_number_of_failed_draws_before_draw_is_forced_ = | 1328 scheduler_settings.maximum_number_of_failed_draws_before_draw_is_forced_ = |
| 1325 settings.maximum_number_of_failed_draws_before_draw_is_forced_; | 1329 settings.maximum_number_of_failed_draws_before_draw_is_forced_; |
| 1326 scheduler_settings.using_synchronous_renderer_compositor = | 1330 scheduler_settings.using_synchronous_renderer_compositor = |
| 1327 settings.using_synchronous_renderer_compositor; | 1331 settings.using_synchronous_renderer_compositor; |
| 1328 scheduler_settings.throttle_frame_production = | 1332 scheduler_settings.throttle_frame_production = |
| 1329 settings.throttle_frame_production; | 1333 settings.throttle_frame_production; |
| 1330 scheduler_settings.use_begin_frame_workaround_for_crbug_249806 = true; | 1334 scheduler_settings.use_begin_frame_workaround_for_crbug_249806 = true; |
| (...skipping 229 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1560 completion_event_for_commit_held_on_tree_activation_ = NULL; | 1564 completion_event_for_commit_held_on_tree_activation_ = NULL; |
| 1561 } | 1565 } |
| 1562 | 1566 |
| 1563 UpdateBackgroundAnimateTicking(); | 1567 UpdateBackgroundAnimateTicking(); |
| 1564 | 1568 |
| 1565 commit_to_activate_duration_history_.InsertSample( | 1569 commit_to_activate_duration_history_.InsertSample( |
| 1566 base::TimeTicks::HighResNow() - commit_complete_time_); | 1570 base::TimeTicks::HighResNow() - commit_complete_time_); |
| 1567 } | 1571 } |
| 1568 | 1572 |
| 1569 } // namespace cc | 1573 } // namespace cc |
| OLD | NEW |