diff options
-rw-r--r-- | cc/base/switches.cc | 3 | ||||
-rw-r--r-- | cc/base/switches.h | 2 | ||||
-rw-r--r-- | chrome/browser/about_flags.cc | 7 | ||||
-rw-r--r-- | chrome/browser/chromeos/login/chrome_restart_request.cc | 2 | ||||
-rw-r--r-- | content/browser/renderer_host/render_process_host_impl.cc | 1 | ||||
-rw-r--r-- | content/renderer/gpu/render_widget_compositor.cc | 2 | ||||
-rw-r--r-- | ui/compositor/compositor.cc | 5 |
7 files changed, 19 insertions, 3 deletions
diff --git a/cc/base/switches.cc b/cc/base/switches.cc index 7820420d..7e45074 100644 --- a/cc/base/switches.cc +++ b/cc/base/switches.cc @@ -86,6 +86,9 @@ const char kEnablePartialSwap[] = "enable-partial-swap"; // Disable partial swap which is needed for some OpenGL drivers / emulators. const char kUIDisablePartialSwap[] = "ui-disable-partial-swap"; +const char kEnablePerTilePainting[] = "enable-per-tile-painting"; +const char kUIEnablePerTilePainting[] = "ui-enable-per-tile-painting"; + // Enables the GPU benchmarking extension const char kEnableGpuBenchmarking[] = "enable-gpu-benchmarking"; diff --git a/cc/base/switches.h b/cc/base/switches.h index 153b985..5821d18 100644 --- a/cc/base/switches.h +++ b/cc/base/switches.h @@ -45,6 +45,8 @@ CC_EXPORT extern const char kDisableCompositorTouchHitTesting[]; // Switches for both the renderer and ui compositors. CC_EXPORT extern const char kUIDisablePartialSwap[]; +CC_EXPORT extern const char kEnablePerTilePainting[]; +CC_EXPORT extern const char kUIEnablePerTilePainting[]; CC_EXPORT extern const char kEnableGpuBenchmarking[]; // Debug visualizations. diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc index 94bbbfe..8d8cbcf 100644 --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc @@ -877,6 +877,13 @@ const Experiment kExperiments[] = { SINGLE_VALUE_TYPE(switches::kDisableVp8AlphaPlayback) }, { + "per-tile-painting", + IDS_FLAGS_PER_TILE_PAINTING_NAME, + IDS_FLAGS_PER_TILE_PAINTING_DESCRIPTION, + kOsMac | kOsLinux | kOsCrOS, + SINGLE_VALUE_TYPE(cc::switches::kEnablePerTilePainting) + }, + { "enable-javascript-harmony", IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_NAME, IDS_FLAGS_ENABLE_JAVASCRIPT_HARMONY_DESCRIPTION, diff --git a/chrome/browser/chromeos/login/chrome_restart_request.cc b/chrome/browser/chromeos/login/chrome_restart_request.cc index 3fb716a..486125e 100644 --- a/chrome/browser/chromeos/login/chrome_restart_request.cc +++ b/chrome/browser/chromeos/login/chrome_restart_request.cc @@ -180,6 +180,7 @@ std::string DeriveCommandLine(const GURL& start_url, cc::switches::kEnableImplSidePainting, cc::switches::kEnableMapImage, cc::switches::kEnablePartialSwap, + cc::switches::kEnablePerTilePainting, cc::switches::kEnablePinchVirtualViewport, cc::switches::kEnableTopControlsPositionCalculation, cc::switches::kMaxTilesForInterestArea, @@ -196,6 +197,7 @@ std::string DeriveCommandLine(const GURL& start_url, cc::switches::kSlowDownRasterScaleFactor, cc::switches::kTraceOverdraw, cc::switches::kUIDisablePartialSwap, + cc::switches::kUIEnablePerTilePainting, chromeos::switches::kDbusStub, chromeos::switches::kDisableLoginAnimations, chromeos::switches::kDisableOobeAnimation, diff --git a/content/browser/renderer_host/render_process_host_impl.cc b/content/browser/renderer_host/render_process_host_impl.cc index 6dc6780..61ee274 100644 --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc @@ -1113,6 +1113,7 @@ void RenderProcessHostImpl::PropagateBrowserCommandLineToRenderer( cc::switches::kEnableLCDText, cc::switches::kEnableMapImage, cc::switches::kEnablePartialSwap, + cc::switches::kEnablePerTilePainting, cc::switches::kEnablePinchVirtualViewport, cc::switches::kEnableTopControlsPositionCalculation, cc::switches::kMaxTilesForInterestArea, diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc index efef1d4..da77095 100644 --- a/content/renderer/gpu/render_widget_compositor.cc +++ b/content/renderer/gpu/render_widget_compositor.cc @@ -95,6 +95,8 @@ scoped_ptr<RenderWidgetCompositor> RenderWidgetCompositor::Create( !cmd->HasSwitch(switches::kDisableDeadlineScheduling); settings.using_synchronous_renderer_compositor = widget->UsingSynchronousRendererCompositor(); + settings.per_tile_painting_enabled = + cmd->HasSwitch(cc::switches::kEnablePerTilePainting); settings.accelerated_animation_enabled = !cmd->HasSwitch(cc::switches::kDisableThreadedAnimation); settings.touch_hit_testing = diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc index ed78f037..37a147a 100644 --- a/ui/compositor/compositor.cc +++ b/ui/compositor/compositor.cc @@ -213,9 +213,8 @@ Compositor::Compositor(gfx::AcceleratedWidget widget) switches::IsUIDeadlineSchedulingEnabled(); settings.partial_swap_enabled = !command_line->HasSwitch(cc::switches::kUIDisablePartialSwap); -#if defined(OS_CHROMEOS) - settings.per_tile_painting_enabled = true; -#endif + settings.per_tile_painting_enabled = + command_line->HasSwitch(cc::switches::kUIEnablePerTilePainting); // These flags should be mirrored by renderer versions in content/renderer/. settings.initial_debug_state.show_debug_borders = |