summaryrefslogtreecommitdiff
authorMichel Dänzer <michel.daenzer@amd.com>2014-03-13 07:40:19 (GMT)
committer Michel Dänzer <michel@daenzer.net>2014-03-13 08:39:56 (GMT)
commitbdc412044f6ced056cd57320d1b2ee0d967c2191 (patch) (side-by-side diff)
tree535161d80eb46ccbdca4e023bc2f1196ee14a392
parent921a153f9964ca452e1241f76c7f7d653f42ceaf (diff)
downloadxf86-video-ati-bdc412044f6ced056cd57320d1b2ee0d967c2191.zip
xf86-video-ati-bdc412044f6ced056cd57320d1b2ee0d967c2191.tar.gz
Build against glamor in the xserver tree if available
Diffstat (more/less context) (ignore whitespace changes)
-rw-r--r--configure.ac20
-rw-r--r--src/radeon_glamor.c3
2 files changed, 19 insertions, 4 deletions
diff --git a/configure.ac b/configure.ac
index e80de84..9086bb6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -104,13 +104,25 @@ AC_ARG_ENABLE(glamor,
[Disable glamor, a new GL-based acceleration [default=enabled]]),
[GLAMOR="$enableval"],
[GLAMOR=yes])
-AC_MSG_RESULT([$GLAMOR])
-AM_CONDITIONAL(GLAMOR, test x$GLAMOR != xno)
+
if test "x$GLAMOR" != "xno"; then
- PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.6.0])
- PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
+ AC_CHECK_HEADERS([glamor.h], [GLAMOR_H="yes"], [GLAMOR_H="no"], [])
+
+ if test "x$GLAMOR_H" = xyes; then
+ AC_CHECK_DECL(GLAMOR_NO_DRI3,
+ [GLAMOR_XSERVER="yes"], [GLAMOR_XSERVER="no"],
+ [#include "glamor.h"])
+ fi
+
+ if test "x$GLAMOR_XSERVER" != xyes; then
+ PKG_CHECK_MODULES(LIBGLAMOR, [glamor >= 0.6.0])
+ PKG_CHECK_MODULES(LIBGLAMOR_EGL, [glamor-egl])
+ fi
AC_DEFINE(USE_GLAMOR, 1, [Enable glamor acceleration])
+else
+ AC_MSG_RESULT([$GLAMOR])
fi
+AM_CONDITIONAL(GLAMOR, test x$GLAMOR != xno)
AC_CHECK_HEADERS([list.h],
[have_list_h="yes"], [have_list_h="no"],
diff --git a/src/radeon_glamor.c b/src/radeon_glamor.c
index a354c78..7f1247c 100644
--- a/src/radeon_glamor.c
+++ b/src/radeon_glamor.c
@@ -323,6 +323,9 @@ radeon_glamor_init(ScreenPtr screen)
ScrnInfoPtr scrn = xf86ScreenToScrn(screen);
if (!glamor_init(screen, GLAMOR_INVERTED_Y_AXIS | GLAMOR_USE_EGL_SCREEN |
+#ifdef GLAMOR_NO_DRI3
+ GLAMOR_NO_DRI3 |
+#endif
GLAMOR_USE_SCREEN | GLAMOR_USE_PICTURE_SCREEN)) {
xf86DrvMsg(scrn->scrnIndex, X_ERROR,
"Failed to initialize glamor.\n");