summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@gmail.com>2012-07-16 18:52:50 +1000
committerDave Airlie <airlied@gmail.com>2012-07-16 18:52:50 +1000
commitf9e303905639ba84cb4eea909faa942d515c1968 (patch)
treed9302beb72968401a9909747b54c93dc069d0d26
parenta5a9f9d7f69f812ef81557a50451efaa2f577cfb (diff)
voodoo: fix build against XAA-less server.
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r--configure.ac19
-rw-r--r--src/voodoo.h2
-rw-r--r--src/voodoo_dga.c1
-rw-r--r--src/voodoo_driver.c3
-rw-r--r--src/voodoo_hardware.c9
5 files changed, 29 insertions, 5 deletions
diff --git a/configure.ac b/configure.ac
index da7dc53..d433aa2 100644
--- a/configure.ac
+++ b/configure.ac
@@ -82,6 +82,25 @@ if test "x$XSERVER_LIBPCIACCESS" = xyes; then
fi
AM_CONDITIONAL(XSERVER_LIBPCIACCESS, test "x$XSERVER_LIBPCIACCESS" = xyes)
+
+AC_ARG_ENABLE(xaa,
+ AS_HELP_STRING([--enable-xaa],
+ [Enable legacy X Acceleration Architecture (XAA) [default=auto]]),
+ [XAA="$enableval"],
+ [XAA=auto])
+if test "x$XAA" != xno; then
+ save_CFLAGS=$CFLAGS
+ save_CPPFLAGS=$CPPFLAGS
+ CFLAGS=$XORG_CFLAGS
+ CPPFLAGS="$XORG_CFLAGS"
+ AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
+ CFLAGS=$save_CFLAGS
+ CPPFLAGS=$save_CPPFLAGS
+fi
+AC_MSG_CHECKING([whether to include XAA support])
+AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
+AC_MSG_RESULT([$XAA])
+
AC_SUBST([moduledir])
DRIVER_NAME=voodoo
diff --git a/src/voodoo.h b/src/voodoo.h
index 5cb3799..bfed497 100644
--- a/src/voodoo.h
+++ b/src/voodoo.h
@@ -13,7 +13,9 @@ typedef struct {
CARD8 * ShadowPtr; /* Shadow buffer */
CARD32 ShadowPitch;
CloseScreenProcPtr CloseScreen; /* Wrapped Close */
+#ifdef HAVE_XAA_H
XAAInfoRecPtr AccelInfoRec; /* Cached Accel rec for close */
+#endif
Bool Blanked;
Bool PassThrough; /* Set to restore pass through on exit */
EntityInfoPtr pEnt;
diff --git a/src/voodoo_dga.c b/src/voodoo_dga.c
index 74bff97..280c997 100644
--- a/src/voodoo_dga.c
+++ b/src/voodoo_dga.c
@@ -47,7 +47,6 @@
#include "shadowfb.h"
#include "vgaHW.h"
#include "compiler.h"
-#include "xaa.h"
#include "dgaproc.h"
#include "voodoo.h"
diff --git a/src/voodoo_driver.c b/src/voodoo_driver.c
index 08325e3..cd50bdb 100644
--- a/src/voodoo_driver.c
+++ b/src/voodoo_driver.c
@@ -59,7 +59,6 @@
#include "xf86Resources.h"
#endif
#include "compiler.h"
-#include "xaa.h"
#include "voodoo.h"
@@ -769,8 +768,10 @@ VoodooCloseScreen(CLOSE_SCREEN_ARGS_DECL)
VoodooRestore(pScrn, TRUE);
if(pVoo->ShadowPtr)
free(pVoo->ShadowPtr);
+#ifdef HAVE_XAA_H
if(pVoo->AccelInfoRec)
free(pVoo->AccelInfoRec);
+#endif
if (pVoo->pDGAMode) {
free(pVoo->pDGAMode);
pVoo->pDGAMode = NULL;
diff --git a/src/voodoo_hardware.c b/src/voodoo_hardware.c
index 88e937d..232248c 100644
--- a/src/voodoo_hardware.c
+++ b/src/voodoo_hardware.c
@@ -47,7 +47,6 @@
#include "xf86cmap.h"
#include "shadowfb.h"
#include "vgaHW.h"
-#include "xaa.h"
#include "compiler.h"
#include "voodoo.h"
@@ -67,7 +66,7 @@
#include <unistd.h>
-
+#ifdef HAVE_XAA_H
#if 0
static void VoodooReadWriteBank(ScreenPtr pScreen, int bank);
#endif
@@ -82,7 +81,7 @@ static Bool VoodooSetupForCPUToScreenTexture(ScrnInfoPtr pScrn, int op,
static void VoodooSubsequentCPUToScreenTexture(ScrnInfoPtr pScrn,
int dstx, int dsty, int srcx, int srcy, int width, int height);
-
+#endif
static int debug = 0;
/*
@@ -920,6 +919,7 @@ void VoodooSync(ScrnInfoPtr pScrn)
mmio32_w(pVoo, 0x10C, 0); /* Maybe flag this */
}
+#ifdef HAVE_XAA_H
static void Voodoo2Setup2D(VoodooPtr pVoo)
{
wait_idle(pVoo);
@@ -1386,9 +1386,11 @@ CARD32 VoodooAlphaTextureFormats[2] = {PICT_a8, 0};
CARD32 VoodooTextureFormats[3] = {PICT_a8r8g8b8, PICT_x8r8g8b8, 0};
#endif
+#endif
void Voodoo2XAAInit(ScreenPtr pScreen)
{
+#ifdef HAVE_XAA_H
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
VoodooPtr pVoo = VoodooPTR(pScrn);
XAAInfoRecPtr pAccel = XAACreateInfoRec();
@@ -1472,4 +1474,5 @@ void Voodoo2XAAInit(ScreenPtr pScreen)
ErrorF("Unable to set up acceleration.\n");
Voodoo2DisableClipping(pScrn);
+#endif
}