diff options
Diffstat (limited to 'dist/Mesa/src/glx/x11/dri_common.c')
-rw-r--r-- | dist/Mesa/src/glx/x11/dri_common.c | 11 |
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 */ } } |