<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>