Index: cc/resources/tile_manager.h |
diff --git a/cc/resources/tile_manager.h b/cc/resources/tile_manager.h |
index ce9b2801336019e52d41f31826e4f94fdbd8e687..6e4331c9dffd1baf8b76a16a0812413f8a34d928 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,14 +48,17 @@ 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_map_image, |
+ bool use_ganesh, |
size_t max_transfer_buffer_usage_bytes, |
size_t max_raster_usage_bytes); |
virtual ~TileManager(); |
@@ -115,10 +119,16 @@ class CC_EXPORT TileManager : public RasterWorkerPoolClient, |
} |
} |
+ // GaneshRasterizerClient interface |
+ void OnGaneshRasterTaskCompleted( |
+ Tile* tile, scoped_ptr<ResourcePool::Resource> resource, |
+ bool was_canceled); |
+ |
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); |
+ GaneshRasterizer::RasterTask* 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; |