[Intel-gfx] [PATCH 1/3] Update for glamor in the 1.16 server.

Eric Anholt eric at anholt.net
Thu Apr 10 00:24:21 CEST 2014


We should link against the server's copy, insted of using the external
library.
---
 configure.ac           |  6 ++++--
 src/uxa/intel_glamor.c | 14 +++++++++++++-
 2 files changed, 17 insertions(+), 3 deletions(-)

diff --git a/configure.ac b/configure.ac
index ce4822f..8bbb3b0 100644
--- a/configure.ac
+++ b/configure.ac
@@ -322,8 +322,10 @@ if test "x$GLAMOR" != "xno"; then
 	if test "x$UXA" != "xyes"; then
 		AC_MSG_ERROR([Glamor acceleration requested but UXA is not enabled])
 	fi
-	PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.3.1])
-	PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
+	if ! pkg-config --exists "xorg-server >= 1.15.99.901"; then
+		PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.3.1])
+		PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
+	fi
 	AC_DEFINE(USE_GLAMOR, 1, [Enable glamor acceleration])
 fi
 
diff --git a/src/uxa/intel_glamor.c b/src/uxa/intel_glamor.c
index 4d1c767..e0e5b2b 100644
--- a/src/uxa/intel_glamor.c
+++ b/src/uxa/intel_glamor.c
@@ -204,11 +204,23 @@ intel_glamor_init(ScreenPtr screen)
 {
 	ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
 	intel_screen_private *intel = intel_get_screen_private(scrn);
+	Bool ret;
 
 	if ((intel->uxa_flags & UXA_GLAMOR_EGL_INITIALIZED) == 0)
 		goto fail;
 
-	if (!glamor_init(screen, GLAMOR_INVERTED_Y_AXIS | GLAMOR_USE_EGL_SCREEN)) {
+#if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,15,99,900,0)
+	/* Not doing DRI3 yet, since Present support hasn't landed. */
+	ret = glamor_init(screen,
+			  GLAMOR_INVERTED_Y_AXIS |
+			  GLAMOR_USE_EGL_SCREEN |
+			  GLAMOR_NO_DRI3);
+#else
+	ret = glamor_init(screen,
+			  GLAMOR_INVERTED_Y_AXIS |
+			  GLAMOR_USE_EGL_SCREEN);
+#endif
+	if (!ret) {
 		xf86DrvMsg(scrn->scrnIndex, X_ERROR,
 			   "Failed to initialize glamor.\n");
 		goto fail;
-- 
1.9.1




More information about the Intel-gfx mailing list