| Index: cc/resources/tile_manager.h
|
| diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h
|
| index 51229526c89aefa6bfe7a0b4740676cbbc2be3a0..9754a7690d7bafcc3471b34231a8418643457291 100644
|
| --- a/cc/resources/tile_manager.h
|
| +++ b/cc/resources/tile_manager.h
|
| @@ -23,6 +23,7 @@
|
| #include "cc/resources/tile.h"
|
|
|
| namespace cc {
|
| +class RasterWorkerPoolDelegate;
|
| class ResourceProvider;
|
|
|
| class CC_EXPORT TileManagerClient {
|
| @@ -100,9 +101,6 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient,
|
| ++resources_releasable_;
|
| }
|
| }
|
| - RasterWorkerPool* RasterWorkerPoolForTesting() {
|
| - return raster_worker_pool_.get();
|
| - }
|
|
|
| void SetGlobalStateForTesting(
|
| const GlobalStateThatImpactsTilePriority& state) {
|
| @@ -119,7 +117,9 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient,
|
| protected:
|
| TileManager(TileManagerClient* client,
|
| ResourceProvider* resource_provider,
|
| + ContextProvider* context_provider,
|
| scoped_ptr<RasterWorkerPool> raster_worker_pool,
|
| + scoped_ptr<RasterWorkerPool> direct_raster_worker_pool,
|
| size_t max_raster_usage_bytes,
|
| RenderingStatsInstrumentation* rendering_stats_instrumentation,
|
| bool use_rasterize_on_demand);
|
| @@ -160,23 +160,25 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient,
|
| bool was_canceled);
|
|
|
| inline size_t BytesConsumedIfAllocated(const Tile* tile) const {
|
| - return Resource::MemorySizeBytes(tile->size(),
|
| - raster_worker_pool_->GetResourceFormat());
|
| + return Resource::MemorySizeBytes(tile->size(), resource_format_);
|
| }
|
|
|
| RasterMode DetermineRasterMode(const Tile* tile) const;
|
| void FreeResourceForTile(Tile* tile, RasterMode mode);
|
| void FreeResourcesForTile(Tile* tile);
|
| void FreeUnusedResourcesForTile(Tile* tile);
|
| - RasterWorkerPool::Task CreateImageDecodeTask(Tile* tile,
|
| - SkPixelRef* pixel_ref);
|
| - RasterWorkerPool::RasterTask CreateRasterTask(Tile* tile);
|
| + scoped_refptr<internal::WorkerPoolTask> CreateImageDecodeTask(
|
| + Tile* tile,
|
| + SkPixelRef* pixel_ref);
|
| + scoped_refptr<internal::RasterWorkerPoolTask> CreateRasterTask(Tile* tile);
|
| scoped_ptr<base::Value> GetMemoryRequirementsAsValue() const;
|
| void UpdatePrioritizedTileSetIfNeeded();
|
|
|
| TileManagerClient* client_;
|
| + ContextProvider* context_provider_;
|
| + ResourceFormat resource_format_;
|
| scoped_ptr<ResourcePool> resource_pool_;
|
| - scoped_ptr<RasterWorkerPool> raster_worker_pool_;
|
| + scoped_ptr<RasterWorkerPoolDelegate> raster_worker_pool_;
|
| GlobalStateThatImpactsTilePriority global_state_;
|
|
|
| typedef base::hash_map<Tile::Id, Tile*> TileMap;
|
| @@ -203,7 +205,8 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient,
|
| bool did_initialize_visible_tile_;
|
| bool did_check_for_completed_tasks_since_last_schedule_tasks_;
|
|
|
| - typedef base::hash_map<uint32_t, RasterWorkerPool::Task> PixelRefTaskMap;
|
| + typedef base::hash_map<uint32_t, scoped_refptr<internal::WorkerPoolTask> >
|
| + PixelRefTaskMap;
|
| typedef base::hash_map<int, PixelRefTaskMap> LayerPixelRefTaskMap;
|
| LayerPixelRefTaskMap image_decode_tasks_;
|
|
|
| @@ -217,7 +220,8 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient,
|
| bool use_rasterize_on_demand_;
|
|
|
| // Queue used when scheduling raster tasks.
|
| - RasterWorkerPool::RasterTask::Queue raster_tasks_;
|
| + RasterTaskQueue raster_queue_;
|
| + RasterTaskQueue gpu_raster_queue_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TileManager);
|
| };
|
|
|