<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div><br><br><div><br></div></div><div><br>On Sep 17, 2013, at 12:55 PM, Roderick Colenbrander <<a href="mailto:thunderbird2k@gmail.com">thunderbird2k@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div><div dir="ltr">---<br><div class="gmail_quote"> dlls/winex11.drv/opengl.c | 14 +++++++++++++-<br>
 1 file changed, 13 insertions(+), 1 deletion(-)<br>
<br>
diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c<br>
index 5ec33c8..e28302e 100644<br>
--- a/dlls/winex11.drv/opengl.c<br>
+++ b/dlls/winex11.drv/opengl.c<br>
@@ -258,7 +258,8 @@ enum glx_swap_control_method<br>
 {<br>
     GLX_SWAP_CONTROL_NONE,<br>
     GLX_SWAP_CONTROL_EXT,<br>
-    GLX_SWAP_CONTROL_SGI<br>
+    GLX_SWAP_CONTROL_SGI,<br>
+    GLX_SWAP_CONTROL_MESA<br>
 };<br>
<br>
 /* X context to associate a struct gl_drawable to an hwnd */<br>
@@ -404,6 +405,7 @@ static void  (*pglXFreeMemoryNV)(GLvoid *pointer);<br>
<br>
 /* MESA GLX Extensions */<br>
 static void (*pglXCopySubBufferMESA)(Display *dpy, GLXDrawable drawable, int x, int y, int width, int height);<br>
+static int (*pglXSwapIntervalMESA)(unsigned int interval);<br>
<br>
 /* Standard OpenGL */<br>
 static void (*pglFinish)(void);<br>
@@ -650,6 +652,8 @@ static BOOL has_opengl(void)<br>
     LOAD_FUNCPTR(glXCreateContextAttribsARB);<br>
     /* EXT GLX Extension */<br>
     LOAD_FUNCPTR(glXSwapIntervalEXT);<br>
+    /* MESA GLX Extension */<br>
+    LOAD_FUNCPTR(glXSwapIntervalMESA);<br>
     /* SGI GLX Extension */<br>
     LOAD_FUNCPTR(glXSwapIntervalSGI);<br>
     /* NV GLX Extension */<br>
@@ -2963,6 +2967,10 @@ static BOOL X11DRV_wglSwapIntervalEXT(int interval)<br>
         ret = !X11DRV_check_error();<br>
         break;<br>
<br>
+    case GLX_SWAP_CONTROL_MESA:<br>
+        ret = !pglXSwapIntervalMESA(interval);<br>
+        break;<br>
+<br>
     case GLX_SWAP_CONTROL_SGI:<br>
         /* wglSwapIntervalEXT considers an interval value of zero to mean that<br>
          * vsync should be disabled, but glXSwapIntervalSGI considers such a<br>
@@ -3146,6 +3154,10 @@ static void X11DRV_WineGL_LoadExtensions(void)<br>
             has_swap_control_tear = TRUE;<br>
         }<br>
     }<br>
+    else if (has_extension( WineGLInfo.glxExtensions, "GLX_MESA_swap_control"))<br>
+    {<br>
+        swap_control_method = GLX_SWAP_CONTROL_MESA;<br>
+    }<br>
     else if (has_extension( WineGLInfo.glxExtensions, "GLX_SGI_swap_control"))<br>
     {<br>
         swap_control_method = GLX_SWAP_CONTROL_SGI;<br>
<span class="HOEnZb"><font color="#888888">--<br>
1.8.3.1<br>
<br>
</font></span></div><br></div>
</div></blockquote><blockquote type="cite"><div><span></span><br></div></blockquote></body></html>