summaryrefslogtreecommitdiffstats
path: root/ui/gl
diff options
context:
space:
mode:
authorreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-19 01:18:28 +0000
committerreveman@chromium.org <reveman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-19 01:18:28 +0000
commit82fc7d94f6757c19f7f08adb131456c8e17cc0b5 (patch)
treee0c985e77d910173dc14a4f1b78df607700edfac /ui/gl
parentc9c45c3e78e7e90bfcdf06aaee7f32367e10e80e (diff)
downloadchromium_src-82fc7d94f6757c19f7f08adb131456c8e17cc0b5.zip
chromium_src-82fc7d94f6757c19f7f08adb131456c8e17cc0b5.tar.gz
chromium_src-82fc7d94f6757c19f7f08adb131456c8e17cc0b5.tar.bz2
gpu: Use ARB_sync extension for GLFence implementation when GL version is OpenGL ES 3.
This increases the number of configurations for which fences are supported. BUG=269808,356871 Review URL: https://codereview.chromium.org/242113011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264900 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl')
-rw-r--r--ui/gl/gl_fence.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ui/gl/gl_fence.cc b/ui/gl/gl_fence.cc
index 262de48..def030b 100644
--- a/ui/gl/gl_fence.cc
+++ b/ui/gl/gl_fence.cc
@@ -7,6 +7,7 @@
#include "base/compiler_specific.h"
#include "ui/gl/gl_bindings.h"
#include "ui/gl/gl_context.h"
+#include "ui/gl/gl_version_info.h"
namespace {
@@ -165,7 +166,8 @@ gfx::GLFence* CreateFence(bool flush) {
return new EGLFenceSync(flush);
#endif
// Prefer ARB_sync which supports server-side wait.
- if (gfx::g_driver_gl.ext.b_GL_ARB_sync)
+ if (gfx::g_driver_gl.ext.b_GL_ARB_sync ||
+ gfx::GLContext::GetCurrent()->GetVersionInfo()->is_es3)
return new GLFenceARBSync(flush);
if (gfx::g_driver_gl.ext.b_GL_NV_fence)
return new GLFenceNVFence(flush);