Mesa (master): Disable SGI_swap_control extension for DRI2

Dave Airlie airlied at kemper.freedesktop.org
Fri Jun 12 01:45:29 UTC 2009


Module: Mesa
Branch: master
Commit: 279143c6e808b37c333321b696d80df77f709a04
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=279143c6e808b37c333321b696d80df77f709a04

Author: Owen W. Taylor <otaylor at fishsoup.net>
Date:   Sat Jun  6 14:46:22 2009 -0400

Disable SGI_swap_control extension for DRI2

We currently don't have support for SGI_swap_control for direct
contexts with DRI2, so disable reporting the extension. Reporting
the extension, and then having glXSwapIntervalSGI() "succeed"
but do nothing can confuse applications.

https://bugs.freedesktop.org/show_bug.cgi?id=22123

---

 src/glx/x11/dri_common.c |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/src/glx/x11/dri_common.c b/src/glx/x11/dri_common.c
index 90c3d8c..6de4111 100644
--- a/src/glx/x11/dri_common.c
+++ b/src/glx/x11/dri_common.c
@@ -345,7 +345,9 @@ driBindExtensions(__GLXscreenConfigs *psc, int dri2)
 #endif
 
 #ifdef __DRI_SWAP_CONTROL
-	if (strcmp(extensions[i]->name, __DRI_SWAP_CONTROL) == 0) {
+	/* No DRI2 support for swap_control at the moment, since SwapBuffers
+	 * is done by the X server */
+	if (strcmp(extensions[i]->name, __DRI_SWAP_CONTROL) == 0 && !dri2) {
 	    psc->swapControl = (__DRIswapControlExtension *) extensions[i];
 	    __glXEnableDirectExtension(psc, "GLX_SGI_swap_control");
 	    __glXEnableDirectExtension(psc, "GLX_MESA_swap_control");




More information about the mesa-commit mailing list