summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen W. Taylor <otaylor@fishsoup.net>2009-06-06 14:46:22 -0400
committerIan Romanick <ian.d.romanick@intel.com>2009-06-22 15:15:20 -0700
commit9d367d43b2fddb9a27d4be6302da172ab773ca91 (patch)
tree1c043fd2a2fc4503cbd65d6aec2f16e26d1ca873
parent0584b6e433753dd01101c6824f6f6336c40d0f1f (diff)
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 (cherry picked from commit 279143c6e808b37c333321b696d80df77f709a04)
-rw-r--r--src/glx/x11/dri_common.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/glx/x11/dri_common.c b/src/glx/x11/dri_common.c
index 90c3d8c7d9..6de4111113 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");