| Index: cc/tile_manager.h
|
| diff --git a/cc/tile_manager.h b/cc/tile_manager.h
|
| index 6d2c621bf7e37ad0cc84df5e28fadc7c4740b6c2..5d164a198263cf627157f0c4900f3b666aec0592 100644
|
| --- a/cc/tile_manager.h
|
| +++ b/cc/tile_manager.h
|
| @@ -14,6 +14,7 @@
|
| #include "base/memory/scoped_ptr.h"
|
| #include "base/values.h"
|
| #include "cc/memory_history.h"
|
| +#include "cc/picture_pile_impl.h"
|
| #include "cc/rendering_stats.h"
|
| #include "cc/resource_pool.h"
|
| #include "cc/tile_priority.h"
|
| @@ -92,6 +93,7 @@ class CC_EXPORT ManagedTileState {
|
| TileResolution resolution;
|
| float time_to_needed_in_seconds;
|
| float distance_to_visible_in_pixels;
|
| + PicturePileImpl::Analysis picture_pile_analysis;
|
| };
|
|
|
| // This class manages tiles, deciding which should get rasterized and which
|
| @@ -103,7 +105,9 @@ class CC_EXPORT TileManager : public WorkerPoolClient {
|
| TileManager(TileManagerClient* client,
|
| ResourceProvider *resource_provider,
|
| size_t num_raster_threads,
|
| - bool use_cheapess_estimator);
|
| + bool use_cheapess_estimator,
|
| + bool use_color_estimator,
|
| + bool prediction_benchmarking);
|
| virtual ~TileManager();
|
|
|
| const GlobalStateThatImpactsTilePriority& GlobalState() const {
|
| @@ -148,13 +152,14 @@ class CC_EXPORT TileManager : public WorkerPoolClient {
|
|
|
| // Data that is passed to raster tasks.
|
| struct RasterTaskMetadata {
|
| - bool use_cheapness_estimator;
|
| + bool prediction_benchmarking;
|
| bool is_tile_in_pending_tree_now_bin;
|
| TileResolution tile_resolution;
|
| int layer_id;
|
| };
|
|
|
| RasterTaskMetadata GetRasterTaskMetadata(const Tile& tile) const;
|
| +
|
| void SortTiles();
|
| void AssignGpuMemoryToTiles();
|
| void FreeResourcesForTile(Tile* tile);
|
| @@ -197,6 +202,11 @@ class CC_EXPORT TileManager : public WorkerPoolClient {
|
|
|
| static void RecordCheapnessPredictorResults(bool is_predicted_cheap,
|
| bool is_actually_cheap);
|
| + static void RecordSolidColorPredictorResults(const SkColor* actual_colors,
|
| + size_t color_count,
|
| + bool is_predicted_solid,
|
| + SkColor predicted_color,
|
| + bool is_predicted_transparent);
|
|
|
| TileManagerClient* client_;
|
| scoped_ptr<ResourcePool> resource_pool_;
|
| @@ -231,9 +241,11 @@ class CC_EXPORT TileManager : public WorkerPoolClient {
|
| RenderingStats rendering_stats_;
|
|
|
| bool use_cheapness_estimator_;
|
| + bool use_color_estimator_;
|
| bool did_schedule_cheap_tasks_;
|
| bool allow_cheap_tasks_;
|
| int raster_state_count_[NUM_STATES][NUM_TREES][NUM_BINS];
|
| + bool prediction_benchmarking_;
|
|
|
| DISALLOW_COPY_AND_ASSIGN(TileManager);
|
| };
|
|
|