| Index: cc/resources/tile.cc
|
| diff --git a/cc/resources/tile.cc b/cc/resources/tile.cc
|
| index 7b1f00aee760db3b0446bc2f3b45690059078ccd..65a17387dd3edeaf5e741053a11bbe9396bd14ff 100644
|
| --- a/cc/resources/tile.cc
|
| +++ b/cc/resources/tile.cc
|
| @@ -4,6 +4,8 @@
|
|
|
| #include "cc/resources/tile.h"
|
|
|
| +#include <algorithm>
|
| +
|
| #include "cc/base/math_util.h"
|
| #include "cc/debug/traced_value.h"
|
| #include "cc/resources/tile_manager.h"
|
| @@ -81,4 +83,27 @@ size_t Tile::GPUMemoryUsageInBytes() const {
|
| return total_size;
|
| }
|
|
|
| +RasterMode Tile::DetermineRasterModeForTree(WhichTree tree) const {
|
| + return DetermineRasterModeForResolution(priority(tree).resolution);
|
| +}
|
| +
|
| +RasterMode Tile::DetermineOverallRasterMode() const {
|
| + return DetermineRasterModeForResolution(managed_state_.resolution);
|
| +}
|
| +
|
| +RasterMode Tile::DetermineRasterModeForResolution(
|
| + TileResolution resolution) const {
|
| + RasterMode current_mode = managed_state_.raster_mode;
|
| + RasterMode raster_mode = HIGH_QUALITY_RASTER_MODE;
|
| + if (resolution == LOW_RESOLUTION)
|
| + raster_mode = LOW_QUALITY_RASTER_MODE;
|
| + else if (can_use_lcd_text())
|
| + raster_mode = HIGH_QUALITY_RASTER_MODE;
|
| + else if (managed_state_.tile_versions[current_mode].has_text_ ||
|
| + !managed_state_.tile_versions[current_mode].IsReadyToDraw())
|
| + raster_mode = HIGH_QUALITY_NO_LCD_RASTER_MODE;
|
| +
|
| + return std::min(raster_mode, current_mode);
|
| +}
|
| +
|
| } // namespace cc
|
|
|