| Index: cc/tiles/tile_manager.h
|
| diff --git a/cc/tiles/tile_manager.h b/cc/tiles/tile_manager.h
|
| index 86c66c4446efabb3b165138ebc0220b0ab5dca5b..1b08ae0eac6ca583720036e0881431c51509165f 100644
|
| --- a/cc/tiles/tile_manager.h
|
| +++ b/cc/tiles/tile_manager.h
|
| @@ -104,6 +104,26 @@ RasterTaskCompletionStatsAsValue(const RasterTaskCompletionStats& stats);
|
| // should no longer have any memory assigned to them. Tile objects are "owned"
|
| // by layers; they automatically register with the manager when they are
|
| // created, and unregister from the manager when they are deleted.
|
| +//
|
| +// The TileManager coordinates scheduling of prioritized raster and decode work
|
| +// across 2 different subsystems, namely the TaskGraphRunner used primarily for
|
| +// raster work and images which must be decoded before rasterization of a tile
|
| +// can proceed, and the CheckerImageTracker used for images decoded
|
| +// asynchronously from raster using the |image_worker_task_runner|. The order in
|
| +// which work is scheduled across these systems is as follows:
|
| +//
|
| +// 1) RequiredForActivation/Draw Tiles: These are the highest priority tiles
|
| +// which block scheduling of any decode work for checkered-images.
|
| +//
|
| +// 2) Pre-paint Tiles: These are offscreen tiles which fall within the
|
| +// pre-raster distance. The work for these tiles continues in parallel with the
|
| +// decode work for checkered images from visible/pre-paint tiles.
|
| +//
|
| +// 3) Pre-decode Tiles: These are offscreen tiles which are outside the
|
| +// pre-raster distance but have their images pre-decoded and locked. Finishing
|
| +// work for these tiles on the TaskGraph blocks starting decode work for
|
| +// checker-imaged pre-decode tiles.
|
| +
|
| class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| public:
|
| TileManager(TileManagerClient* client,
|
| @@ -332,7 +352,7 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| scoped_refptr<TileTask> CreateTaskSetFinishedTask(
|
| void (TileManager::*callback)());
|
| PrioritizedWorkToSchedule AssignGpuMemoryToTiles();
|
| - void ScheduleTasks(const PrioritizedWorkToSchedule& work_to_schedule);
|
| + void ScheduleTasks(PrioritizedWorkToSchedule work_to_schedule);
|
|
|
| void PartitionImagesForCheckering(const PrioritizedTile& prioritized_tile,
|
| const gfx::ColorSpace& raster_color_space,
|
| @@ -341,6 +361,7 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| void AddCheckeredImagesToDecodeQueue(
|
| const PrioritizedTile& prioritized_tile,
|
| const gfx::ColorSpace& raster_color_space,
|
| + CheckerImageTracker::DecodeType decode_type,
|
| CheckerImageTracker::ImageDecodeQueue* image_decode_queue);
|
|
|
| std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
|
|
|