| 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 808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 819 | 819 |
| 820 // Track the number of dependents for each *_done task. | 820 // Track the number of dependents for each *_done task. |
| 821 size_t required_for_activate_count = 0; | 821 size_t required_for_activate_count = 0; |
| 822 size_t required_for_draw_count = 0; | 822 size_t required_for_draw_count = 0; |
| 823 size_t all_count = 0; | 823 size_t all_count = 0; |
| 824 | 824 |
| 825 size_t priority = kTileTaskPriorityBase; | 825 size_t priority = kTileTaskPriorityBase; |
| 826 | 826 |
| 827 graph_.Reset(); | 827 graph_.Reset(); |
| 828 | 828 |
| 829 gfx::ColorSpace color_space = client_->GetTileColorSpace(); | 829 gfx::ColorSpace target_color_space = client_->GetTileColorSpace(); |
| 830 | 830 |
| 831 scoped_refptr<TileTask> required_for_activation_done_task = | 831 scoped_refptr<TileTask> required_for_activation_done_task = |
| 832 CreateTaskSetFinishedTask( | 832 CreateTaskSetFinishedTask( |
| 833 &TileManager::DidFinishRunningTileTasksRequiredForActivation); | 833 &TileManager::DidFinishRunningTileTasksRequiredForActivation); |
| 834 scoped_refptr<TileTask> required_for_draw_done_task = | 834 scoped_refptr<TileTask> required_for_draw_done_task = |
| 835 CreateTaskSetFinishedTask( | 835 CreateTaskSetFinishedTask( |
| 836 &TileManager::DidFinishRunningTileTasksRequiredForDraw); | 836 &TileManager::DidFinishRunningTileTasksRequiredForDraw); |
| 837 scoped_refptr<TileTask> all_done_task = | 837 scoped_refptr<TileTask> all_done_task = |
| 838 CreateTaskSetFinishedTask(&TileManager::DidFinishRunningAllTileTasks); | 838 CreateTaskSetFinishedTask(&TileManager::DidFinishRunningAllTileTasks); |
| 839 | 839 |
| 840 // Build a new task queue containing all task currently needed. Tasks | 840 // Build a new task queue containing all task currently needed. Tasks |
| 841 // are added in order of priority, highest priority task first. | 841 // are added in order of priority, highest priority task first. |
| 842 for (auto& prioritized_tile : tiles_that_need_to_be_rasterized) { | 842 for (auto& prioritized_tile : tiles_that_need_to_be_rasterized) { |
| 843 Tile* tile = prioritized_tile.tile(); | 843 Tile* tile = prioritized_tile.tile(); |
| 844 | 844 |
| 845 DCHECK(tile->draw_info().requires_resource()); | 845 DCHECK(tile->draw_info().requires_resource()); |
| 846 DCHECK(!tile->draw_info().resource_); | 846 DCHECK(!tile->draw_info().resource_); |
| 847 | 847 |
| 848 if (!tile->raster_task_) | 848 if (!tile->raster_task_) |
| 849 tile->raster_task_ = CreateRasterTask(prioritized_tile, color_space); | 849 tile->raster_task_ = CreateRasterTask( |
| 850 prioritized_tile, |
| 851 prioritized_tile.raster_source()->HasImpliedColorSpace() |
| 852 ? prioritized_tile.raster_source()->GetImpliedColorSpace() |
| 853 : target_color_space); |
| 850 | 854 |
| 851 TileTask* task = tile->raster_task_.get(); | 855 TileTask* task = tile->raster_task_.get(); |
| 852 | 856 |
| 853 DCHECK(!task->HasCompleted()); | 857 DCHECK(!task->HasCompleted()); |
| 854 | 858 |
| 855 if (tile->required_for_activation()) { | 859 if (tile->required_for_activation()) { |
| 856 required_for_activate_count++; | 860 required_for_activate_count++; |
| 857 graph_.edges.push_back( | 861 graph_.edges.push_back( |
| 858 TaskGraph::Edge(task, required_for_activation_done_task.get())); | 862 TaskGraph::Edge(task, required_for_activation_done_task.get())); |
| 859 } | 863 } |
| (...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1351 all_tile_tasks_completed = false; | 1355 all_tile_tasks_completed = false; |
| 1352 did_notify_all_tile_tasks_completed = false; | 1356 did_notify_all_tile_tasks_completed = false; |
| 1353 } | 1357 } |
| 1354 | 1358 |
| 1355 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; | 1359 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule() = default; |
| 1356 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( | 1360 TileManager::PrioritizedWorkToSchedule::PrioritizedWorkToSchedule( |
| 1357 PrioritizedWorkToSchedule&& other) = default; | 1361 PrioritizedWorkToSchedule&& other) = default; |
| 1358 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; | 1362 TileManager::PrioritizedWorkToSchedule::~PrioritizedWorkToSchedule() = default; |
| 1359 | 1363 |
| 1360 } // namespace cc | 1364 } // namespace cc |
| OLD | NEW |