diff options
author | kbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 21:38:35 +0000 |
---|---|---|
committer | kbr@chromium.org <kbr@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-09 21:38:35 +0000 |
commit | 8f095c311e523f91b74646a163b24433596475f9 (patch) | |
tree | c51794c1776a6f068ea71037ed12bc26885c88b8 /gpu/command_buffer | |
parent | 39d334e576dc1ecd770c0c826faa1bcb2c3adada (diff) | |
download | chromium_src-8f095c311e523f91b74646a163b24433596475f9.zip chromium_src-8f095c311e523f91b74646a163b24433596475f9.tar.gz chromium_src-8f095c311e523f91b74646a163b24433596475f9.tar.bz2 |
Work around graphics hangs on MacBook Airs with Intel GPUs by calling glFinish after each frame displayed on the browser side.
BUG=123409
TEST=tested manually with WebGL Aquarium and clickCycle script from bug report
Review URL: https://chromiumcodereview.appspot.com/10382069
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136131 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'gpu/command_buffer')
-rw-r--r-- | gpu/command_buffer/service/gpu_switches.cc | 6 | ||||
-rw-r--r-- | gpu/command_buffer/service/gpu_switches.h | 1 |
2 files changed, 7 insertions, 0 deletions
diff --git a/gpu/command_buffer/service/gpu_switches.cc b/gpu/command_buffer/service/gpu_switches.cc index 3081318..c38ecc0 100644 --- a/gpu/command_buffer/service/gpu_switches.cc +++ b/gpu/command_buffer/service/gpu_switches.cc @@ -29,6 +29,11 @@ const char kEnableGPUDebugging[] = "enable-gpu-debugging"; // Enforce GL minimums. const char kEnforceGLMinimums[] = "enforce-gl-minimums"; +// Force the use of a workaround for graphics hangs seen on certain +// Mac OS systems. Enabled by default (and can't be disabled) on known +// affected systems. +const char kForceGLFinishWorkaround[] = "force-glfinish-workaround"; + const char* kGpuSwitches[] = { kCompileShaderAlwaysSucceeds, kDisableGLErrorLimit, @@ -37,6 +42,7 @@ const char* kGpuSwitches[] = { kEnableGPUCommandLogging, kEnableGPUDebugging, kEnforceGLMinimums, + kForceGLFinishWorkaround, }; const int kNumGpuSwitches = arraysize(kGpuSwitches); diff --git a/gpu/command_buffer/service/gpu_switches.h b/gpu/command_buffer/service/gpu_switches.h index 388b39a..2d64652 100644 --- a/gpu/command_buffer/service/gpu_switches.h +++ b/gpu/command_buffer/service/gpu_switches.h @@ -19,6 +19,7 @@ GPU_EXPORT extern const char kDisableGpuDriverBugWorkarounds[]; GPU_EXPORT extern const char kEnableGPUCommandLogging[]; GPU_EXPORT extern const char kEnableGPUDebugging[]; GPU_EXPORT extern const char kEnforceGLMinimums[]; +GPU_EXPORT extern const char kForceGLFinishWorkaround[]; GPU_EXPORT extern const char* kGpuSwitches[]; GPU_EXPORT extern const int kNumGpuSwitches; |