| Index: cc/tile_manager.h
|
| diff --git a/cc/tile_manager.h b/cc/tile_manager.h
|
| index 31826aedce7839a77862f3614bbe3766b03df03d..d80e2f1a0b1860441c47e99a947c139821a788a8 100644
|
| --- a/cc/tile_manager.h
|
| +++ b/cc/tile_manager.h
|
| @@ -5,9 +5,11 @@
|
| #ifndef CC_TILE_MANAGER_H_
|
| #define CC_TILE_MANAGER_H_
|
|
|
| +#include <list>
|
| #include <queue>
|
| #include <vector>
|
|
|
| +#include "base/hash_tables.h"
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/values.h"
|
| #include "cc/resource_pool.h"
|
| @@ -53,6 +55,8 @@ class CC_EXPORT ManagedTileState {
|
| scoped_ptr<ResourcePool::Resource> resource;
|
| bool resource_is_being_initialized;
|
| bool contents_swizzled;
|
| + bool need_to_gather_pixel_refs;
|
| + std::list<skia::LazyPixelRef*> pending_pixel_refs;
|
|
|
| // Ephemeral state, valid only during Manage.
|
| TileManagerBin bin;
|
| @@ -91,7 +95,7 @@ class CC_EXPORT TileManager {
|
| void FreeResourcesForTile(Tile*);
|
| void ScheduleManageTiles();
|
| void ScheduleCheckForCompletedSetPixels();
|
| - void DispatchMoreRasterTasks();
|
| + void DispatchMoreTasks();
|
| void DispatchOneRasterTask(RasterThread*, scoped_refptr<Tile>);
|
| void OnRasterTaskCompleted(
|
| scoped_refptr<Tile>,
|
| @@ -99,6 +103,11 @@ class CC_EXPORT TileManager {
|
| scoped_refptr<PicturePileImpl>,
|
| RenderingStats*);
|
| void DidFinishTileInitialization(Tile*);
|
| + void DispatchImageDecodingTasksForTile(Tile*);
|
| + void OnImageDecodingTaskCompleted(scoped_refptr<Tile>, uint32_t);
|
| + void DispatchOneImageDecodingTask(
|
| + RasterThread*, scoped_refptr<Tile>, skia::LazyPixelRef*);
|
| + RasterThread* GetFreeRasterThread();
|
|
|
| TileManagerClient* client_;
|
| scoped_ptr<ResourcePool> resource_pool_;
|
| @@ -111,6 +120,14 @@ class CC_EXPORT TileManager {
|
| TileVector tiles_;
|
| TileVector tiles_that_need_to_be_rasterized_;
|
|
|
| + typedef std::list<Tile*> TileList;
|
| + // Tiles with image decoding tasks. These tiles need to be rasterized
|
| + // when all the image decoding tasks finish.
|
| + TileList tiles_with_image_decoding_tasks_;
|
| +
|
| + typedef base::hash_map<uint32_t, skia::LazyPixelRef*> PixelRefMap;
|
| + PixelRefMap pending_decode_tasks_;
|
| +
|
| typedef std::queue<scoped_refptr<Tile> > TileQueue;
|
| TileQueue tiles_with_pending_set_pixels_;
|
|
|
|
|