summaryrefslogtreecommitdiffstats
path: root/ui/gl
diff options
context:
space:
mode:
authorpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 05:15:39 +0000
committerpiman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-05-26 05:15:39 +0000
commit7e1e30c4fa8b339c795127751dbbc41c80421d79 (patch)
tree5cee2c7f3e7b1ebda9b7a9685e712e9451eb0609 /ui/gl
parent734e32c47da02d99f27117d68a2378ca879fd388 (diff)
downloadchromium_src-7e1e30c4fa8b339c795127751dbbc41c80421d79.zip
chromium_src-7e1e30c4fa8b339c795127751dbbc41c80421d79.tar.gz
chromium_src-7e1e30c4fa8b339c795127751dbbc41c80421d79.tar.bz2
Use GLX_MESA_swap_control if it exists
Mesa-based drivers (i.e. chromeos's) don't support GLX_EXT_swap_control. BUG=None TEST=aura_bench --disable-ui-vsync on chrome os device. Review URL: https://chromiumcodereview.appspot.com/10440060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@139188 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/gl')
-rwxr-xr-xui/gl/generate_bindings.py4
-rw-r--r--ui/gl/gl.gyp1
-rw-r--r--ui/gl/gl_context_glx.cc2
3 files changed, 7 insertions, 0 deletions
diff --git a/ui/gl/generate_bindings.py b/ui/gl/generate_bindings.py
index 22ab46a..6cd7e52 100755
--- a/ui/gl/generate_bindings.py
+++ b/ui/gl/generate_bindings.py
@@ -1043,6 +1043,9 @@ GLX_FUNCTIONS = [
'names': ['glXGetSelectedEvent'],
'arguments': 'Display* dpy, GLXDrawable drawable, unsigned long* mask', },
{ 'return_type': 'void',
+ 'names': ['glXSwapIntervalMESA'],
+ 'arguments': 'unsigned int interval', },
+{ 'return_type': 'void',
'names': ['glXSwapIntervalEXT'],
'arguments': 'Display* dpy, GLXDrawable drawable, int interval', },
{ 'return_type': 'GLXFBConfig',
@@ -1067,6 +1070,7 @@ FUNCTION_SETS = [
[WGL_FUNCTIONS, 'wgl', [
'../../third_party/mesa/MesaLib/include/GL/wglext.h'], []],
[GLX_FUNCTIONS, 'glx', [
+ '../../third_party/mesa/MesaLib/include/GL/glx.h',
'../../third_party/mesa/MesaLib/include/GL/glxext.h'], []],
]
diff --git a/ui/gl/gl.gyp b/ui/gl/gl.gyp
index 87f9803..d2dc0db 100644
--- a/ui/gl/gl.gyp
+++ b/ui/gl/gl.gyp
@@ -97,6 +97,7 @@
'<(DEPTH)/third_party/khronos/GLES2/gl2ext.h',
'<(DEPTH)/third_party/khronos/EGL/eglext.h',
'<(DEPTH)/third_party/mesa/MesaLib/include/GL/glext.h',
+ '<(DEPTH)/third_party/mesa/MesaLib/include/GL/glx.h',
'<(DEPTH)/third_party/mesa/MesaLib/include/GL/glxext.h',
'<(DEPTH)/third_party/mesa/MesaLib/include/GL/wglext.h',
],
diff --git a/ui/gl/gl_context_glx.cc b/ui/gl/gl_context_glx.cc
index b8d13892..c981327 100644
--- a/ui/gl/gl_context_glx.cc
+++ b/ui/gl/gl_context_glx.cc
@@ -224,6 +224,8 @@ void GLContextGLX::SetSwapInterval(int interval) {
display_,
glXGetCurrentDrawable(),
interval);
+ } else if (HasExtension("GLX_MESA_swap_control") && glXSwapIntervalMESA) {
+ glXSwapIntervalMESA(interval);
} else {
if(interval == 0)
LOG(WARNING) <<