Chromium Code Reviews| Index: cc/resources/tile_manager.h |
| diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h |
| index ce9b2801336019e52d41f31826e4f94fdbd8e687..79dae8d933225c83606b72aef1ed67bb7504e391 100644 |
| --- a/cc/resources/tile_manager.h |
| +++ b/cc/resources/tile_manager.h |
| @@ -14,6 +14,7 @@ |
| #include "base/values.h" |
| #include "cc/base/ref_counted_managed.h" |
| #include "cc/debug/rendering_stats_instrumentation.h" |
| +#include "cc/resources/ganesh_rasterizer.h" |
| #include "cc/resources/managed_tile_state.h" |
| #include "cc/resources/memory_history.h" |
| #include "cc/resources/picture_pile_impl.h" |
| @@ -47,13 +48,16 @@ scoped_ptr<base::Value> RasterTaskCompletionStatsAsValue( |
| // by layers; they automatically register with the manager when they are |
| // created, and unregister from the manager when they are deleted. |
| class CC_EXPORT TileManager : public RasterWorkerPoolClient, |
| + public GaneshRasterizerClient, |
| public RefCountedManager<Tile> { |
| public: |
| static scoped_ptr<TileManager> Create( |
| TileManagerClient* client, |
| ResourceProvider* resource_provider, |
| + ContextProvider* context_provider, |
| size_t num_raster_threads, |
| RenderingStatsInstrumentation* rendering_stats_instrumentation, |
| + bool use_ganesh, |
|
reveman
2013/11/24 21:56:57
how do we plan to mark layers/tiles as candidates
slavi
2013/11/25 23:13:14
We need a heuristic in tile manager (search TODO(s
enne (OOO)
2013/11/25 23:14:10
I would really not like to have a global mode flag
|
| bool use_map_image, |
| size_t max_transfer_buffer_usage_bytes, |
| size_t max_raster_usage_bytes); |
| @@ -115,10 +119,16 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient, |
| } |
| } |
| + // GaneshRasterizerClient interface |
| + virtual void OnGaneshRasterTaskCompleted( |
| + Tile* tile, scoped_ptr<ResourcePool::Resource> resource, |
| + bool was_canceled) OVERRIDE; |
| + |
| protected: |
| TileManager(TileManagerClient* client, |
| ResourceProvider* resource_provider, |
| scoped_ptr<RasterWorkerPool> raster_worker_pool, |
| + scoped_ptr<GaneshRasterizer> ganesh_rasterizer, |
| size_t num_raster_threads, |
| size_t max_raster_usage_bytes, |
| RenderingStatsInstrumentation* rendering_stats_instrumentation); |
| @@ -174,12 +184,14 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient, |
| RasterWorkerPool::Task CreateImageDecodeTask( |
| Tile* tile, skia::LazyPixelRef* pixel_ref); |
| RasterWorkerPool::RasterTask CreateRasterTask(Tile* tile); |
| + void CreateGaneshRasterTask(Tile* tile); |
| scoped_ptr<base::Value> GetMemoryRequirementsAsValue() const; |
| void UpdatePrioritizedTileSetIfNeeded(); |
| TileManagerClient* client_; |
| scoped_ptr<ResourcePool> resource_pool_; |
| scoped_ptr<RasterWorkerPool> raster_worker_pool_; |
| + scoped_ptr<GaneshRasterizer> ganesh_rasterizer_; |
| GlobalStateThatImpactsTilePriority global_state_; |
| typedef base::hash_map<Tile::Id, Tile*> TileMap; |