| Index: cc/tiles/tile_manager.h
|
| diff --git a/cc/tiles/tile_manager.h b/cc/tiles/tile_manager.h
|
| index 5de0a15485a61a511906fa1552354f07d906643d..2a014e5a3ac73ecfd3235f591d7d0508dcbc1d33 100644
|
| --- a/cc/tiles/tile_manager.h
|
| +++ b/cc/tiles/tile_manager.h
|
| @@ -164,10 +164,12 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| void InitializeTilesWithResourcesForTesting(const std::vector<Tile*>& tiles) {
|
| for (size_t i = 0; i < tiles.size(); ++i) {
|
| TileDrawInfo& draw_info = tiles[i]->draw_info();
|
| - draw_info.set_resource(resource_pool_->AcquireResource(
|
| - tiles[i]->desired_texture_size(),
|
| - raster_buffer_provider_->GetResourceFormat(false),
|
| - client_->GetRasterColorSpace()));
|
| + draw_info.set_resource(
|
| + resource_pool_->AcquireResource(
|
| + tiles[i]->desired_texture_size(),
|
| + raster_buffer_provider_->GetResourceFormat(false),
|
| + client_->GetRasterColorSpace()),
|
| + false);
|
| draw_info.set_resource_ready_for_draw();
|
| }
|
| }
|
| @@ -276,13 +278,15 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
|
|
| std::vector<PrioritizedTile> tiles_to_raster;
|
| std::vector<PrioritizedTile> tiles_to_process_for_images;
|
| + CheckerImageTracker::ImageDecodeQueue checker_image_decode_queue;
|
| };
|
|
|
| void FreeResourcesForTile(Tile* tile);
|
| void FreeResourcesForTileAndNotifyClientIfTileWasReadyToDraw(Tile* tile);
|
| scoped_refptr<TileTask> CreateRasterTask(
|
| const PrioritizedTile& prioritized_tile,
|
| - const gfx::ColorSpace& color_space);
|
| + const gfx::ColorSpace& color_space,
|
| + CheckerImageTracker::ImageDecodeQueue* checker_image_decode_queue);
|
|
|
| std::unique_ptr<EvictionTilePriorityQueue>
|
| FreeTileResourcesUntilUsageIsWithinLimit(
|
| @@ -314,6 +318,8 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| PrioritizedWorkToSchedule AssignGpuMemoryToTiles();
|
| void ScheduleTasks(const PrioritizedWorkToSchedule& work_to_schedule);
|
|
|
| + void EnsureImageAnalysisPerformed(const PrioritizedTile& prioritized_tile);
|
| +
|
| std::unique_ptr<base::trace_event::ConvertableToTraceFormat>
|
| ScheduledTasksStateAsValue() const;
|
|
|
| @@ -368,6 +374,10 @@ class CC_EXPORT TileManager : CheckerImageTrackerClient {
|
| std::unordered_map<Tile::Id, std::vector<DrawImage>> scheduled_draw_images_;
|
| std::vector<scoped_refptr<TileTask>> locked_image_tasks_;
|
|
|
| + // Number of tiles with a checker-imaged resource or active raster tasks which
|
| + // will create a checker-imaged resource.
|
| + int num_of_tiles_with_checker_images_ = 0;
|
| +
|
| // We need two WeakPtrFactory objects as the invalidation pattern of each is
|
| // different. The |task_set_finished_weak_ptr_factory_| is invalidated any
|
| // time new tasks are scheduled, preventing a race when the callback has
|
|
|