diff options
author | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-26 05:15:39 +0000 |
---|---|---|
committer | piman@chromium.org <piman@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-05-26 05:15:39 +0000 |
commit | 7e1e30c4fa8b339c795127751dbbc41c80421d79 (patch) | |
tree | 5cee2c7f3e7b1ebda9b7a9685e712e9451eb0609 /ui/gl | |
parent | 734e32c47da02d99f27117d68a2378ca879fd388 (diff) | |
download | chromium_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-x | ui/gl/generate_bindings.py | 4 | ||||
-rw-r--r-- | ui/gl/gl.gyp | 1 | ||||
-rw-r--r-- | ui/gl/gl_context_glx.cc | 2 |
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) << |