xserver: Branch 'dri2-swapbuffers' - 2 commits

Kristian Høgsberg krh at kemper.freedesktop.org
Fri Jul 17 08:28:49 PDT 2009


 glx/glxdri2.c          |   16 ++++++++++------
 hw/xfree86/dri2/dri2.h |    2 +-
 2 files changed, 11 insertions(+), 7 deletions(-)

New commits:
commit 5b15eb78ee32a0b1b1cbfc82ac6f291f16885040
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Fri Jul 17 03:28:02 2009 -0400

    DRI2: Look for flush extension in screen extensions, not driver extensions

diff --git a/glx/glxdri2.c b/glx/glxdri2.c
index 3426f67..90dca30 100644
--- a/glx/glxdri2.c
+++ b/glx/glxdri2.c
@@ -173,11 +173,11 @@ __glXDRIdrawableSwapBuffers(__GLXdrawable *drawable)
     __GLXDRIdrawable *priv = (__GLXDRIdrawable *) drawable;
     __GLXDRIscreen *screen = priv->screen;
 
+    (*screen->flush->flushInvalidate)(priv->driDrawable);
+
     if (!DRI2SwapBuffers(drawable->pDraw))
 	return FALSE;
 
-    (*screen->flush->flushInvalidate)(priv->driDrawable);
-
     return TRUE;
 }
 
@@ -585,6 +585,14 @@ initializeExtensions(__GLXDRIscreen *screen)
 	    LogMessage(X_INFO, "AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects\n");
 	}
 #endif
+
+#ifdef __DRI2_FLUSH
+	if (strcmp(extensions[i]->name, __DRI2_FLUSH) == 0 &&
+	    extensions[i]->version >= __DRI2_FLUSH_VERSION) {
+		screen->flush = (__DRI2flushExtension *) extensions[i];
+	}
+#endif
+
 	/* Ignore unknown extensions */
     }
 }
@@ -647,10 +655,6 @@ __glXDRIscreenProbe(ScreenPtr pScreen)
 	    extensions[i]->version >= __DRI_DRI2_VERSION) {
 		screen->dri2 = (const __DRIdri2Extension *) extensions[i];
 	}
-	if (strcmp(extensions[i]->name, __DRI2_FLUSH) == 0 &&
-	    extensions[i]->version >= __DRI2_FLUSH_VERSION) {
-		screen->flush = (__DRI2flushExtension *) extensions[i];
-	}
     }
 
     if (screen->core == NULL || screen->dri2 == NULL) {
commit 1e7d01b07b68c0bf58597c66f2597e7d161e50d2
Author: Kristian Høgsberg <krh at redhat.com>
Date:   Thu Jul 16 10:30:44 2009 -0400

    Bump DRI2InfoRec version.

diff --git a/hw/xfree86/dri2/dri2.h b/hw/xfree86/dri2/dri2.h
index a392d83..e330fe9 100644
--- a/hw/xfree86/dri2/dri2.h
+++ b/hw/xfree86/dri2/dri2.h
@@ -74,7 +74,7 @@ typedef void		(*DRI2DestroyBufferProcPtr)(DrawablePtr pDraw,
 /**
  * Version of the DRI2InfoRec structure defined in this header
  */
-#define DRI2INFOREC_VERSION 3
+#define DRI2INFOREC_VERSION 4
 
 typedef struct {
     unsigned int version;	/**< Version of this struct */


More information about the xorg-commit mailing list