| 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 784 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 795 | 795 |
| 796 // Track the number of dependents for each *_done task. | 796 // Track the number of dependents for each *_done task. |
| 797 size_t required_for_activate_count = 0; | 797 size_t required_for_activate_count = 0; |
| 798 size_t required_for_draw_count = 0; | 798 size_t required_for_draw_count = 0; |
| 799 size_t all_count = 0; | 799 size_t all_count = 0; |
| 800 | 800 |
| 801 size_t priority = kTileTaskPriorityBase; | 801 size_t priority = kTileTaskPriorityBase; |
| 802 | 802 |
| 803 graph_.Reset(); | 803 graph_.Reset(); |
| 804 | 804 |
| 805 gfx::ColorSpace target_color_space = client_->GetTileColorSpace(); | 805 gfx::ColorSpace raster_color_space = client_->GetRasterColorSpace(); |
| 806 | 806 |
| 807 scoped_refptr<TileTask> required_for_activation_done_task = | 807 scoped_refptr<TileTask> required_for_activation_done_task = |
| 808 CreateTaskSetFinishedTask( | 808 CreateTaskSetFinishedTask( |
| 809 &TileManager::DidFinishRunningTileTasksRequiredForActivation); | 809 &TileManager::DidFinishRunningTileTasksRequiredForActivation); |
| 810 scoped_refptr<TileTask> required_for_draw_done_task = | 810 scoped_refptr<TileTask> required_for_draw_done_task = |
| 811 CreateTaskSetFinishedTask( | 811 CreateTaskSetFinishedTask( |
| 812 &TileManager::DidFinishRunningTileTasksRequiredForDraw); | 812 &TileManager::DidFinishRunningTileTasksRequiredForDraw); |
| 813 scoped_refptr<TileTask> all_done_task = | 813 scoped_refptr<TileTask> all_done_task = |
| 814 CreateTaskSetFinishedTask(&TileManager::DidFinishRunningAllTileTasks); | 814 CreateTaskSetFinishedTask(&TileManager::DidFinishRunningAllTileTasks); |
| 815 | 815 |
| 816 // Build a new task queue containing all task currently needed. Tasks | 816 // Build a new task queue containing all task currently needed. Tasks |
| 817 // are added in order of priority, highest priority task first. | 817 // are added in order of priority, highest priority task first. |
| 818 for (auto& prioritized_tile : tiles_that_need_to_be_rasterized) { | 818 for (auto& prioritized_tile : tiles_that_need_to_be_rasterized) { |
| 819 Tile* tile = prioritized_tile.tile(); | 819 Tile* tile = prioritized_tile.tile(); |
| 820 | 820 |
| 821 DCHECK(tile->draw_info().requires_resource()); | 821 DCHECK(tile->draw_info().requires_resource()); |
| 822 DCHECK(!tile->draw_info().resource()); | 822 DCHECK(!tile->draw_info().resource()); |
| 823 | 823 |
| 824 if (!tile->raster_task_) { | 824 if (!tile->raster_task_) { |
| 825 tile->raster_task_ = | 825 tile->raster_task_ = |
| 826 CreateRasterTask(prioritized_tile, target_color_space); | 826 CreateRasterTask(prioritized_tile, raster_color_space); |
| 827 } | 827 } |
| 828 | 828 |
| 829 TileTask* task = tile->raster_task_.get(); | 829 TileTask* task = tile->raster_task_.get(); |
| 830 | 830 |
| 831 DCHECK(!task->HasCompleted()); | 831 DCHECK(!task->HasCompleted()); |
| 832 | 832 |
| 833 if (tile->required_for_activation()) { | 833 if (tile->required_for_activation()) { |
| 834 required_for_activate_count++; | 834 required_for_activate_count++; |
| 835 graph_.edges.push_back( | 835 graph_.edges.push_back( |
| 836 TaskGraph::Edge(task, required_for_activation_done_task.get())); | 836 TaskGraph::Edge(task, required_for_activation_done_task.get())); |
| (...skipping 595 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1432 all_tile_tasks_completed = false; | 1432 all_tile_tasks_completed = false; |
| 1433 did_notify_all_tile_tasks_completed = false; | 1433 did_notify_all_tile_tasks_completed = false; |
| 1434 } | 1434 } |
| 1435 | 1435 |
| 1436 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; | 1436 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; |
| 1437 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( | 1437 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( |
| 1438 PrioritizedWorkToSchedule&& other) = default; | 1438 PrioritizedWorkToSchedule&& other) = default; |
| 1439 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; | 1439 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; |
| 1440 | 1440 |
| 1441 } // namespace cc | 1441 } // namespace cc |
| OLD | NEW |