| OLD | NEW |
| 1 // Copyright 2012 The Chromium Authors. All rights reserved. | 1 // Copyright 2012 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/tiles/tile_manager.h" | 5 #include "cc/tiles/tile_manager.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 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 246 const base::Closure on_task_set_finished_callback_; | 246 const base::Closure on_task_set_finished_callback_; |
| 247 | 247 |
| 248 DISALLOW_COPY_AND_ASSIGN(TaskSetFinishedTaskImpl); | 248 DISALLOW_COPY_AND_ASSIGN(TaskSetFinishedTaskImpl); |
| 249 }; | 249 }; |
| 250 | 250 |
| 251 } // namespace | 251 } // namespace |
| 252 | 252 |
| 253 RasterTaskCompletionStats::RasterTaskCompletionStats() | 253 RasterTaskCompletionStats::RasterTaskCompletionStats() |
| 254 : completed_count(0u), canceled_count(0u) {} | 254 : completed_count(0u), canceled_count(0u) {} |
| 255 | 255 |
| 256 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 256 scoped_ptr<base::trace_event::ConvertableToTraceFormat> |
| 257 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats) { | 257 RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats) { |
| 258 scoped_refptr<base::trace_event::TracedValue> state = | 258 scoped_ptr<base::trace_event::TracedValue> state( |
| 259 new base::trace_event::TracedValue(); | 259 new base::trace_event::TracedValue()); |
| 260 state->SetInteger("completed_count", | 260 state->SetInteger("completed_count", |
| 261 base::saturated_cast<int>(stats.completed_count)); | 261 base::saturated_cast<int>(stats.completed_count)); |
| 262 state->SetInteger("canceled_count", | 262 state->SetInteger("canceled_count", |
| 263 base::saturated_cast<int>(stats.canceled_count)); | 263 base::saturated_cast<int>(stats.canceled_count)); |
| 264 return state; | 264 return std::move(state); |
| 265 } | 265 } |
| 266 | 266 |
| 267 // static | 267 // static |
| 268 scoped_ptr<TileManager> TileManager::Create( | 268 scoped_ptr<TileManager> TileManager::Create( |
| 269 TileManagerClient* client, | 269 TileManagerClient* client, |
| 270 base::SequencedTaskRunner* task_runner, | 270 base::SequencedTaskRunner* task_runner, |
| 271 size_t scheduled_raster_task_limit, | 271 size_t scheduled_raster_task_limit, |
| 272 bool use_partial_raster) { | 272 bool use_partial_raster) { |
| 273 return make_scoped_ptr(new TileManager( | 273 return make_scoped_ptr(new TileManager( |
| 274 client, task_runner, scheduled_raster_task_limit, use_partial_raster)); | 274 client, task_runner, scheduled_raster_task_limit, use_partial_raster)); |
| (...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 470 | 470 |
| 471 tile_task_runner_->CheckForCompletedTasks(); | 471 tile_task_runner_->CheckForCompletedTasks(); |
| 472 | 472 |
| 473 did_check_for_completed_tasks_since_last_schedule_tasks_ = true; | 473 did_check_for_completed_tasks_since_last_schedule_tasks_ = true; |
| 474 | 474 |
| 475 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats", | 475 TRACE_EVENT_INSTANT1("cc", "DidFlush", TRACE_EVENT_SCOPE_THREAD, "stats", |
| 476 RasterTaskCompletionStatsAsValue(flush_stats_)); | 476 RasterTaskCompletionStatsAsValue(flush_stats_)); |
| 477 flush_stats_ = RasterTaskCompletionStats(); | 477 flush_stats_ = RasterTaskCompletionStats(); |
| 478 } | 478 } |
| 479 | 479 |
| 480 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 480 scoped_ptr<base::trace_event::ConvertableToTraceFormat> |
| 481 TileManager::BasicStateAsValue() const { | 481 TileManager::BasicStateAsValue() const { |
| 482 scoped_refptr<base::trace_event::TracedValue> value = | 482 scoped_ptr<base::trace_event::TracedValue> value( |
| 483 new base::trace_event::TracedValue(); | 483 new base::trace_event::TracedValue()); |
| 484 BasicStateAsValueInto(value.get()); | 484 BasicStateAsValueInto(value.get()); |
| 485 return value; | 485 return std::move(value); |
| 486 } | 486 } |
| 487 | 487 |
| 488 void TileManager::BasicStateAsValueInto( | 488 void TileManager::BasicStateAsValueInto( |
| 489 base::trace_event::TracedValue* state) const { | 489 base::trace_event::TracedValue* state) const { |
| 490 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size())); | 490 state->SetInteger("tile_count", base::saturated_cast<int>(tiles_.size())); |
| 491 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_); | 491 state->SetBoolean("did_oom_on_last_assign", did_oom_on_last_assign_); |
| 492 state->BeginDictionary("global_state"); | 492 state->BeginDictionary("global_state"); |
| 493 global_state_.AsValueInto(state); | 493 global_state_.AsValueInto(state); |
| 494 state->EndDictionary(); | 494 state->EndDictionary(); |
| 495 } | 495 } |
| (...skipping 601 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1097 } | 1097 } |
| 1098 | 1098 |
| 1099 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const { | 1099 ResourceFormat TileManager::DetermineResourceFormat(const Tile* tile) const { |
| 1100 return tile_task_runner_->GetResourceFormat(!tile->is_opaque()); | 1100 return tile_task_runner_->GetResourceFormat(!tile->is_opaque()); |
| 1101 } | 1101 } |
| 1102 | 1102 |
| 1103 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const { | 1103 bool TileManager::DetermineResourceRequiresSwizzle(const Tile* tile) const { |
| 1104 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque()); | 1104 return tile_task_runner_->GetResourceRequiresSwizzle(!tile->is_opaque()); |
| 1105 } | 1105 } |
| 1106 | 1106 |
| 1107 scoped_refptr<base::trace_event::ConvertableToTraceFormat> | 1107 scoped_ptr<base::trace_event::ConvertableToTraceFormat> |
| 1108 TileManager::ScheduledTasksStateAsValue() const { | 1108 TileManager::ScheduledTasksStateAsValue() const { |
| 1109 scoped_refptr<base::trace_event::TracedValue> state = | 1109 scoped_ptr<base::trace_event::TracedValue> state( |
| 1110 new base::trace_event::TracedValue(); | 1110 new base::trace_event::TracedValue()); |
| 1111 | |
| 1112 state->BeginDictionary("tasks_pending"); | 1111 state->BeginDictionary("tasks_pending"); |
| 1113 state->SetBoolean("ready_to_activate", signals_.ready_to_activate); | 1112 state->SetBoolean("ready_to_activate", signals_.ready_to_activate); |
| 1114 state->SetBoolean("ready_to_draw", signals_.ready_to_draw); | 1113 state->SetBoolean("ready_to_draw", signals_.ready_to_draw); |
| 1115 state->SetBoolean("all_tile_tasks_completed", | 1114 state->SetBoolean("all_tile_tasks_completed", |
| 1116 signals_.all_tile_tasks_completed); | 1115 signals_.all_tile_tasks_completed); |
| 1117 state->EndDictionary(); | 1116 state->EndDictionary(); |
| 1118 return state; | 1117 return std::move(state); |
| 1119 } | 1118 } |
| 1120 | 1119 |
| 1121 // Utility function that can be used to create a "Task set finished" task that | 1120 // Utility function that can be used to create a "Task set finished" task that |
| 1122 // posts |callback| to |task_runner| when run. | 1121 // posts |callback| to |task_runner| when run. |
| 1123 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask( | 1122 scoped_refptr<TileTask> TileManager::CreateTaskSetFinishedTask( |
| 1124 void (TileManager::*callback)()) { | 1123 void (TileManager::*callback)()) { |
| 1125 return make_scoped_refptr(new TaskSetFinishedTaskImpl( | 1124 return make_scoped_refptr(new TaskSetFinishedTaskImpl( |
| 1126 task_runner_.get(), | 1125 task_runner_.get(), |
| 1127 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr()))); | 1126 base::Bind(callback, task_set_finished_weak_ptr_factory_.GetWeakPtr()))); |
| 1128 } | 1127 } |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1197 void TileManager::Signals::reset() { | 1196 void TileManager::Signals::reset() { |
| 1198 ready_to_activate = false; | 1197 ready_to_activate = false; |
| 1199 did_notify_ready_to_activate = false; | 1198 did_notify_ready_to_activate = false; |
| 1200 ready_to_draw = false; | 1199 ready_to_draw = false; |
| 1201 did_notify_ready_to_draw = false; | 1200 did_notify_ready_to_draw = false; |
| 1202 all_tile_tasks_completed = false; | 1201 all_tile_tasks_completed = false; |
| 1203 did_notify_all_tile_tasks_completed = false; | 1202 did_notify_all_tile_tasks_completed = false; |
| 1204 } | 1203 } |
| 1205 | 1204 |
| 1206 } // namespace cc | 1205 } // namespace cc |
| OLD | NEW |