| 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 |