summaryrefslogtreecommitdiff
path: root/dist/Mesa/src/glx/x11/dri_common.c
diff options
context:
space:
mode:
Diffstat (limited to 'dist/Mesa/src/glx/x11/dri_common.c')
-rw-r--r--dist/Mesa/src/glx/x11/dri_common.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/dist/Mesa/src/glx/x11/dri_common.c b/dist/Mesa/src/glx/x11/dri_common.c
index 4fda649e5..6de411111 100644
--- a/dist/Mesa/src/glx/x11/dri_common.c
+++ b/dist/Mesa/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");
@@ -392,6 +394,13 @@ driBindExtensions(__GLXscreenConfigs *psc, int dri2)
}
#endif
+#ifdef __DRI2_FLUSH
+ if ((strcmp(extensions[i]->name, __DRI2_FLUSH) == 0) && dri2) {
+ psc->f = (__DRI2flushExtension *) extensions[i];
+ /* internal driver extension, no GL extension exposed */
+ }
+#endif
+
/* Ignore unknown extensions */
}
}