| Index: content/renderer/gpu/render_widget_compositor.cc
|
| diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
|
| index 0c49515356840a94b8656cfa4e86cbe285a58965..be4cd238f58037f899670ba784b88c86b2039524 100644
|
| --- a/content/renderer/gpu/render_widget_compositor.cc
|
| +++ b/content/renderer/gpu/render_widget_compositor.cc
|
| @@ -38,6 +38,7 @@
|
| #include "cc/proto/compositor_message.pb.h"
|
| #include "cc/resources/single_release_callback.h"
|
| #include "cc/scheduler/begin_frame_source.h"
|
| +#include "cc/tiles/picture_layer_tiling.h"
|
| #include "cc/trees/latency_info_swap_promise_monitor.h"
|
| #include "cc/trees/layer_tree_host.h"
|
| #include "cc/trees/remote_proto_channel.h"
|
| @@ -62,7 +63,6 @@
|
|
|
| #if defined(OS_ANDROID)
|
| #include "base/android/build_info.h"
|
| -#include "ui/gfx/android/device_display_info.h"
|
| #endif
|
|
|
| namespace base {
|
| @@ -136,58 +136,6 @@ cc::LayerSelection ConvertWebSelection(const WebSelection& web_selection) {
|
| return cc_selection;
|
| }
|
|
|
| -gfx::Size CalculateDefaultTileSize(float initial_device_scale_factor) {
|
| - int default_tile_size = 256;
|
| -#if defined(OS_ANDROID)
|
| - // TODO(epenner): unify this for all platforms if it
|
| - // makes sense (http://crbug.com/159524)
|
| -
|
| - gfx::DeviceDisplayInfo info;
|
| - 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;
|
| - }
|
| -#elif defined(OS_CHROMEOS) || defined(OS_MACOSX)
|
| - // Use 512 for high DPI (dsf=2.0f) devices.
|
| - if (initial_device_scale_factor >= 2.0f)
|
| - default_tile_size = 512;
|
| -#endif
|
| -
|
| - return gfx::Size(default_tile_size, default_tile_size);
|
| -}
|
| -
|
| // Check cc::TopControlsState, and blink::WebTopControlsState
|
| // are kept in sync.
|
| static_assert(int(blink::WebTopControlsBoth) == int(cc::BOTH),
|
| @@ -289,38 +237,6 @@ cc::LayerTreeSettings RenderWidgetCompositor::GenerateLayerTreeSettings(
|
| settings.main_frame_before_activation_enabled =
|
| cmd.HasSwitch(cc::switches::kEnableMainFrameBeforeActivation);
|
|
|
| - // TODO(danakj): This should not be a setting O_O; it should change when the
|
| - // device scale factor on LayerTreeHost changes.
|
| - settings.default_tile_size = CalculateDefaultTileSize(device_scale_factor);
|
| - if (cmd.HasSwitch(switches::kDefaultTileWidth)) {
|
| - int tile_width = 0;
|
| - GetSwitchValueAsInt(cmd, switches::kDefaultTileWidth, 1,
|
| - std::numeric_limits<int>::max(), &tile_width);
|
| - settings.default_tile_size.set_width(tile_width);
|
| - }
|
| - if (cmd.HasSwitch(switches::kDefaultTileHeight)) {
|
| - int tile_height = 0;
|
| - GetSwitchValueAsInt(cmd, switches::kDefaultTileHeight, 1,
|
| - std::numeric_limits<int>::max(), &tile_height);
|
| - settings.default_tile_size.set_height(tile_height);
|
| - }
|
| -
|
| - int max_untiled_layer_width = settings.max_untiled_layer_size.width();
|
| - if (cmd.HasSwitch(switches::kMaxUntiledLayerWidth)) {
|
| - GetSwitchValueAsInt(cmd, switches::kMaxUntiledLayerWidth, 1,
|
| - std::numeric_limits<int>::max(),
|
| - &max_untiled_layer_width);
|
| - }
|
| - int max_untiled_layer_height = settings.max_untiled_layer_size.height();
|
| - if (cmd.HasSwitch(switches::kMaxUntiledLayerHeight)) {
|
| - GetSwitchValueAsInt(cmd, switches::kMaxUntiledLayerHeight, 1,
|
| - std::numeric_limits<int>::max(),
|
| - &max_untiled_layer_height);
|
| - }
|
| -
|
| - settings.max_untiled_layer_size = gfx::Size(max_untiled_layer_width,
|
| - max_untiled_layer_height);
|
| -
|
| settings.gpu_rasterization_msaa_sample_count =
|
| compositor_deps->GetGpuRasterizationMSAASampleCount();
|
| settings.gpu_rasterization_forced =
|
| @@ -405,6 +321,9 @@ cc::LayerTreeSettings RenderWidgetCompositor::GenerateLayerTreeSettings(
|
| bool using_synchronous_compositor =
|
| GetContentClient()->UsingSynchronousCompositing();
|
|
|
| + // TODO(crbug.com/622885): Android viewport is assumed to be fixed forever.
|
| + settings.use_viewport_for_tile_size = true;
|
| +
|
| // We can't use GPU rasterization on low-end devices, because the Ganesh
|
| // cache would consume too much memory.
|
| if (base::SysInfo::IsLowEndDevice())
|
|
|