| Index: content/browser/gpu/gpu_data_manager_impl_private.cc
|
| diff --git a/content/browser/gpu/gpu_data_manager_impl_private.cc b/content/browser/gpu/gpu_data_manager_impl_private.cc
|
| index 8cfe60af56d504f36f53f35c07ad4f071e930e4a..d7424120a5cd3a93cf390130413924ee22ea6f35 100644
|
| --- a/content/browser/gpu/gpu_data_manager_impl_private.cc
|
| +++ b/content/browser/gpu/gpu_data_manager_impl_private.cc
|
| @@ -247,45 +247,16 @@ void ApplyAndroidWorkarounds(const gpu::GPUInfo& gpu_info,
|
| gfx::DeviceDisplayInfo info;
|
| int default_tile_size = 256;
|
|
|
| - // TODO(epenner): Now that this is somewhat generic, maybe we can
|
| - // unify this for all platforms (http://crbug.com/159524)
|
| -
|
| - bool real_size_supported = true;
|
| - int display_width = info.GetPhysicalDisplayWidth();
|
| - int display_height = info.GetPhysicalDisplayHeight();
|
| - if (display_width == 0 || display_height == 0) {
|
| - real_size_supported = false;
|
| - display_width = info.GetDisplayWidth();
|
| - display_height = info.GetDisplayHeight();
|
| - }
|
| -
|
| - int portrait_width = std::min(display_width, display_height);
|
| - int landscape_width = std::max(display_width, display_height);
|
| -
|
| - if (real_size_supported) {
|
| - // Maximum HD dimensions should be 768x1280
|
| - // Maximum FHD dimensions should be 1200x1920
|
| - if (portrait_width > 768 || landscape_width > 1280)
|
| - default_tile_size = 384;
|
| - if (portrait_width > 1200 || landscape_width > 1920)
|
| - default_tile_size = 512;
|
| -
|
| - // Adjust for some resolutions that barely straddle an extra
|
| - // tile when in portrait mode. This helps worst case scroll/raster
|
| - // by not needing a full extra tile for each row.
|
| - if (default_tile_size == 256 && portrait_width == 768)
|
| - default_tile_size += 32;
|
| - if (default_tile_size == 384 && portrait_width == 1200)
|
| - default_tile_size += 32;
|
| - } else {
|
| - // We don't know the exact resolution due to screen controls etc.
|
| - // So this just estimates the values above using tile counts.
|
| - int numTiles = (display_width * display_height) / (256 * 256);
|
| - if (numTiles > 16)
|
| - default_tile_size = 384;
|
| - if (numTiles >= 40)
|
| - default_tile_size = 512;
|
| - }
|
| + // For very high resolution displays (eg. Nexus 10), set the default
|
| + // tile size to be 512. This should be removed in favour of a generic
|
| + // hueristic that works across all platforms and devices, once that
|
| + // exists: http://crbug.com/159524. This switches to 512 for screens
|
| + // containing 40 or more 256x256 tiles, such that 1080p devices do
|
| + // not use 512x512 tiles (eg. 1920x1280 requires 37.5 tiles)
|
| + int numTiles = (info.GetDisplayWidth() *
|
| + info.GetDisplayHeight()) / (256 * 256);
|
| + if (numTiles >= 40)
|
| + default_tile_size = 512;
|
|
|
| // IMG: Fast async texture uploads only work with non-power-of-two,
|
| // but still multiple-of-eight sizes.
|
|
|