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