Mesa (master): glx: only advertise GLX_INTEL_swap_event if it's supported

Zack Rusin zack at kemper.freedesktop.org
Mon Jan 28 18:57:22 UTC 2013


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

Author: Zack Rusin <zackr at vmware.com>
Date:   Thu Jan 24 17:48:12 2013 -0800

glx: only advertise GLX_INTEL_swap_event if it's supported

Only drivers supporting DRI2 version >=4 support GLX_INTEL_swap_event.
So lets mark it as such otherwise applications which use this extension
(i.e. everything based on Clutter, e.g. gnome-shell) break horribly on
drivers supporting DRI2 versions only up to 3.

Note: This is a candidate for the 9.0 branch.

Reviewed-by: Brian Paul <brianp at vmware.com>

---

 src/glx/dri2_glx.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/src/glx/dri2_glx.c b/src/glx/dri2_glx.c
index 1b3cf2b..a51716f 100644
--- a/src/glx/dri2_glx.c
+++ b/src/glx/dri2_glx.c
@@ -1062,8 +1062,9 @@ dri2BindExtensions(struct dri2_screen *psc, const __DRIextension **extensions)
    __glXEnableDirectExtension(&psc->base, "GLX_MESA_swap_control");
    __glXEnableDirectExtension(&psc->base, "GLX_SGI_make_current_read");
 
-   /* FIXME: if DRI2 version supports it... */
-   __glXEnableDirectExtension(&psc->base, "GLX_INTEL_swap_event");
+   if (psc->dri2->base.version >= 4) {
+      __glXEnableDirectExtension(&psc->base, "GLX_INTEL_swap_event");
+   }
 
    if (psc->dri2->base.version >= 3) {
       const unsigned mask = psc->dri2->getAPIMask(psc->driScreen);




More information about the mesa-commit mailing list