From 8f095c311e523f91b74646a163b24433596475f9 Mon Sep 17 00:00:00 2001 From: "kbr@chromium.org" Date: Wed, 9 May 2012 21:38:35 +0000 Subject: 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 --- gpu/command_buffer/service/gpu_switches.cc | 6 ++++++ gpu/command_buffer/service/gpu_switches.h | 1 + 2 files changed, 7 insertions(+) (limited to 'gpu/command_buffer') 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; -- cgit v1.1