summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-13 05:07:19 +0000
committerskuhne@chromium.org <skuhne@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-04-13 05:07:19 +0000
commit50e15727223270b32288f6751aad116584992182 (patch)
treef0e2357f2040dfc020f9b28346bfc873b01cbcd0
parent13d49915b885cd28f70f063009303ffed0f463f2 (diff)
downloadchromium_src-50e15727223270b32288f6751aad116584992182.zip
chromium_src-50e15727223270b32288f6751aad116584992182.tar.gz
chromium_src-50e15727223270b32288f6751aad116584992182.tar.bz2
Adding new switch to get OpenGL emulation / some drivers to work again
Added "--ui-disable-partial-swap" command line option to get some OpenGL drivers back to work by allowing to disable the partial swap again. BUG=230946 TEST=visual Review URL: https://chromiumcodereview.appspot.com/14064003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@194089 0039d316-1c4b-4281-b951-d872f2087c98
-rw-r--r--cc/base/switches.cc2
-rw-r--r--cc/base/switches.h1
-rw-r--r--chrome/browser/chromeos/login/chrome_restart_request.cc1
-rw-r--r--ui/compositor/compositor.cc3
4 files changed, 6 insertions, 1 deletions
diff --git a/cc/base/switches.cc b/cc/base/switches.cc
index c229070..808b5a9 100644
--- a/cc/base/switches.cc
+++ b/cc/base/switches.cc
@@ -87,6 +87,8 @@ const char kDisablePinchZoomScrollbars[] = "disable-pinch-zoom-scrollbars";
const char kCompositeToMailbox[] = "composite-to-mailbox";
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";
diff --git a/cc/base/switches.h b/cc/base/switches.h
index 8d6991f..6f89fb2 100644
--- a/cc/base/switches.h
+++ b/cc/base/switches.h
@@ -43,6 +43,7 @@ CC_EXPORT extern const char kDisablePinchZoomScrollbars[];
CC_EXPORT extern const char kEnablePartialSwap[];
// 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[];
diff --git a/chrome/browser/chromeos/login/chrome_restart_request.cc b/chrome/browser/chromeos/login/chrome_restart_request.cc
index 0156569..06a662f 100644
--- a/chrome/browser/chromeos/login/chrome_restart_request.cc
+++ b/chrome/browser/chromeos/login/chrome_restart_request.cc
@@ -158,6 +158,7 @@ std::string DeriveCommandLine(const GURL& start_url,
cc::switches::kSlowDownRasterScaleFactor,
cc::switches::kTraceAllRenderedFrames,
cc::switches::kTraceOverdraw,
+ cc::switches::kUIDisablePartialSwap,
cc::switches::kUIEnablePerTilePainting,
chromeos::switches::kDbusStub,
chromeos::switches::kLoginProfile,
diff --git a/ui/compositor/compositor.cc b/ui/compositor/compositor.cc
index d33eef2..9a02d92 100644
--- a/ui/compositor/compositor.cc
+++ b/ui/compositor/compositor.cc
@@ -463,7 +463,8 @@ Compositor::Compositor(CompositorDelegate* delegate,
cc::LayerTreeSettings settings;
settings.refresh_rate =
g_test_compositor_enabled ? kTestRefreshRate : kDefaultRefreshRate;
- settings.partial_swap_enabled = true;
+ settings.partial_swap_enabled =
+ !command_line->HasSwitch(cc::switches::kUIDisablePartialSwap);
settings.per_tile_painting_enabled =
command_line->HasSwitch(cc::switches::kUIEnablePerTilePainting);