| 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 338 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 349 : client_(client), | 349 : client_(client), |
| 350 task_runner_(task_runner), | 350 task_runner_(task_runner), |
| 351 resource_pool_(nullptr), | 351 resource_pool_(nullptr), |
| 352 tile_task_manager_(nullptr), | 352 tile_task_manager_(nullptr), |
| 353 scheduled_raster_task_limit_(scheduled_raster_task_limit), | 353 scheduled_raster_task_limit_(scheduled_raster_task_limit), |
| 354 use_partial_raster_(use_partial_raster), | 354 use_partial_raster_(use_partial_raster), |
| 355 use_gpu_rasterization_(false), | 355 use_gpu_rasterization_(false), |
| 356 all_tiles_that_need_to_be_rasterized_are_scheduled_(true), | 356 all_tiles_that_need_to_be_rasterized_are_scheduled_(true), |
| 357 did_check_for_completed_tasks_since_last_schedule_tasks_(true), | 357 did_check_for_completed_tasks_since_last_schedule_tasks_(true), |
| 358 did_oom_on_last_assign_(false), | 358 did_oom_on_last_assign_(false), |
| 359 image_controller_(task_runner), |
| 359 more_tiles_need_prepare_check_notifier_( | 360 more_tiles_need_prepare_check_notifier_( |
| 360 task_runner_, | 361 task_runner_, |
| 361 base::Bind(&TileManager::CheckIfMoreTilesNeedToBePrepared, | 362 base::Bind(&TileManager::CheckIfMoreTilesNeedToBePrepared, |
| 362 base::Unretained(this))), | 363 base::Unretained(this))), |
| 363 signals_check_notifier_(task_runner_, | 364 signals_check_notifier_(task_runner_, |
| 364 base::Bind(&TileManager::CheckAndIssueSignals, | 365 base::Bind(&TileManager::CheckAndIssueSignals, |
| 365 base::Unretained(this))), | 366 base::Unretained(this))), |
| 366 has_scheduled_tile_tasks_(false), | 367 has_scheduled_tile_tasks_(false), |
| 367 prepare_tiles_count_(0u), | 368 prepare_tiles_count_(0u), |
| 368 next_tile_id_(0u), | 369 next_tile_id_(0u), |
| (...skipping 670 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1039 draw_info.set_use_resource(); | 1040 draw_info.set_use_resource(); |
| 1040 draw_info.resource_ = resource; | 1041 draw_info.resource_ = resource; |
| 1041 draw_info.contents_swizzled_ = DetermineResourceRequiresSwizzle(tile); | 1042 draw_info.contents_swizzled_ = DetermineResourceRequiresSwizzle(tile); |
| 1042 | 1043 |
| 1043 DCHECK(draw_info.IsReadyToDraw()); | 1044 DCHECK(draw_info.IsReadyToDraw()); |
| 1044 draw_info.set_was_ever_ready_to_draw(); | 1045 draw_info.set_was_ever_ready_to_draw(); |
| 1045 | 1046 |
| 1046 client_->NotifyTileStateChanged(tile); | 1047 client_->NotifyTileStateChanged(tile); |
| 1047 } | 1048 } |
| 1048 | 1049 |
| 1050 void TileManager::NotifyFrameFinished() { |
| 1051 image_controller_.NotifyFrameFinished(); |
| 1052 } |
| 1053 |
| 1049 ScopedTilePtr TileManager::CreateTile(const Tile::CreateInfo& info, | 1054 ScopedTilePtr TileManager::CreateTile(const Tile::CreateInfo& info, |
| 1050 int layer_id, | 1055 int layer_id, |
| 1051 int source_frame_number, | 1056 int source_frame_number, |
| 1052 int flags) { | 1057 int flags) { |
| 1053 // We need to have a tile task worker pool to do anything meaningful with | 1058 // We need to have a tile task worker pool to do anything meaningful with |
| 1054 // tiles. | 1059 // tiles. |
| 1055 DCHECK(tile_task_manager_); | 1060 DCHECK(tile_task_manager_); |
| 1056 ScopedTilePtr tile( | 1061 ScopedTilePtr tile( |
| 1057 new Tile(this, info, layer_id, source_frame_number, flags)); | 1062 new Tile(this, info, layer_id, source_frame_number, flags)); |
| 1058 DCHECK(tiles_.find(tile->id()) == tiles_.end()); | 1063 DCHECK(tiles_.find(tile->id()) == tiles_.end()); |
| (...skipping 282 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1341 all_tile_tasks_completed = false; | 1346 all_tile_tasks_completed = false; |
| 1342 did_notify_all_tile_tasks_completed = false; | 1347 did_notify_all_tile_tasks_completed = false; |
| 1343 } | 1348 } |
| 1344 | 1349 |
| 1345 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; | 1350 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; |
| 1346 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( | 1351 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( |
| 1347 PrioritizedWorkToSchedule&& other) = default; | 1352 PrioritizedWorkToSchedule&& other) = default; |
| 1348 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; | 1353 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; |
| 1349 | 1354 |
| 1350 } // namespace cc | 1355 } // namespace cc |
| OLD | NEW |