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/resources/tile_manager.h" | 5 #include "cc/resources/tile_manager.h" |
6 | 6 |
7 #include <algorithm> | 7 #include <algorithm> |
8 #include <limits> | 8 #include <limits> |
9 #include <string> | 9 #include <string> |
10 | 10 |
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 } | 189 } |
190 | 190 |
191 TileManager::TileManager( | 191 TileManager::TileManager( |
192 TileManagerClient* client, | 192 TileManagerClient* client, |
193 ResourceProvider* resource_provider, | 193 ResourceProvider* resource_provider, |
194 scoped_ptr<RasterWorkerPool> raster_worker_pool, | 194 scoped_ptr<RasterWorkerPool> raster_worker_pool, |
195 size_t num_raster_threads, | 195 size_t num_raster_threads, |
196 size_t max_raster_usage_bytes, | 196 size_t max_raster_usage_bytes, |
197 RenderingStatsInstrumentation* rendering_stats_instrumentation) | 197 RenderingStatsInstrumentation* rendering_stats_instrumentation) |
198 : client_(client), | 198 : client_(client), |
199 resource_pool_(ResourcePool::Create(resource_provider)), | 199 resource_pool_(ResourcePool::Create( |
| 200 resource_provider, |
| 201 raster_worker_pool->GetResourceTarget(), |
| 202 raster_worker_pool->GetResourceFormat())), |
200 raster_worker_pool_(raster_worker_pool.Pass()), | 203 raster_worker_pool_(raster_worker_pool.Pass()), |
201 prioritized_tiles_dirty_(false), | 204 prioritized_tiles_dirty_(false), |
202 all_tiles_that_need_to_be_rasterized_have_memory_(true), | 205 all_tiles_that_need_to_be_rasterized_have_memory_(true), |
203 all_tiles_required_for_activation_have_memory_(true), | 206 all_tiles_required_for_activation_have_memory_(true), |
204 memory_required_bytes_(0), | 207 memory_required_bytes_(0), |
205 memory_nice_to_have_bytes_(0), | 208 memory_nice_to_have_bytes_(0), |
206 bytes_releasable_(0), | 209 bytes_releasable_(0), |
207 resources_releasable_(0), | 210 resources_releasable_(0), |
208 max_raster_usage_bytes_(max_raster_usage_bytes), | 211 max_raster_usage_bytes_(max_raster_usage_bytes), |
209 ever_exceeded_memory_budget_(false), | 212 ever_exceeded_memory_budget_(false), |
(...skipping 627 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
837 base::Bind(&TileManager::OnImageDecodeTaskCompleted, | 840 base::Bind(&TileManager::OnImageDecodeTaskCompleted, |
838 base::Unretained(this), | 841 base::Unretained(this), |
839 tile->layer_id(), | 842 tile->layer_id(), |
840 base::Unretained(pixel_ref))); | 843 base::Unretained(pixel_ref))); |
841 } | 844 } |
842 | 845 |
843 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { | 846 RasterWorkerPool::RasterTask TileManager::CreateRasterTask(Tile* tile) { |
844 ManagedTileState& mts = tile->managed_state(); | 847 ManagedTileState& mts = tile->managed_state(); |
845 | 848 |
846 scoped_ptr<ResourcePool::Resource> resource = | 849 scoped_ptr<ResourcePool::Resource> resource = |
847 resource_pool_->AcquireResource( | 850 resource_pool_->AcquireResource(tile->tile_size_.size()); |
848 tile->tile_size_.size(), | |
849 raster_worker_pool_->GetResourceFormat()); | |
850 const Resource* const_resource = resource.get(); | 851 const Resource* const_resource = resource.get(); |
851 | 852 |
852 // Create and queue all image decode tasks that this tile depends on. | 853 // Create and queue all image decode tasks that this tile depends on. |
853 RasterWorkerPool::Task::Set decode_tasks; | 854 RasterWorkerPool::Task::Set decode_tasks; |
854 PixelRefTaskMap& existing_pixel_refs = image_decode_tasks_[tile->layer_id()]; | 855 PixelRefTaskMap& existing_pixel_refs = image_decode_tasks_[tile->layer_id()]; |
855 for (PicturePileImpl::PixelRefIterator iter(tile->content_rect(), | 856 for (PicturePileImpl::PixelRefIterator iter(tile->content_rect(), |
856 tile->contents_scale(), | 857 tile->contents_scale(), |
857 tile->picture_pile()); | 858 tile->picture_pile()); |
858 iter; ++iter) { | 859 iter; ++iter) { |
859 skia::LazyPixelRef* pixel_ref = *iter; | 860 skia::LazyPixelRef* pixel_ref = *iter; |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
979 can_use_lcd_text)); | 980 can_use_lcd_text)); |
980 DCHECK(tiles_.find(tile->id()) == tiles_.end()); | 981 DCHECK(tiles_.find(tile->id()) == tiles_.end()); |
981 | 982 |
982 tiles_[tile->id()] = tile; | 983 tiles_[tile->id()] = tile; |
983 used_layer_counts_[tile->layer_id()]++; | 984 used_layer_counts_[tile->layer_id()]++; |
984 prioritized_tiles_dirty_ = true; | 985 prioritized_tiles_dirty_ = true; |
985 return tile; | 986 return tile; |
986 } | 987 } |
987 | 988 |
988 } // namespace cc | 989 } // namespace cc |
OLD | NEW |