summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--cc/base/switches.cc3
-rw-r--r--cc/base/switches.h2
-rw-r--r--chrome/browser/about_flags.cc7
-rw-r--r--chrome/browser/chromeos/login/chrome_restart_request.cc2
-rw-r--r--content/browser/renderer_host/render_process_host_impl.cc1
-rw-r--r--content/renderer/gpu/render_widget_compositor.cc2
-rw-r--r--ui/compositor/compositor.cc5
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 =