summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--configure.ac19
-rw-r--r--src/ast.h6
-rw-r--r--src/ast_2dtool.c2
-rw-r--r--src/ast_accel.c12
-rw-r--r--src/ast_cursor.c1
-rw-r--r--src/ast_driver.c6
-rw-r--r--src/ast_mode.c1
-rw-r--r--src/ast_tool.c1
-rw-r--r--src/ast_vgatool.c1
9 files changed, 39 insertions, 10 deletions
diff --git a/configure.ac b/configure.ac
index 2db4ac2..ca23998 100644
--- a/configure.ac
+++ b/configure.ac
@@ -76,6 +76,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=nv
diff --git a/src/ast.h b/src/ast.h
index 09bf1bd..83ce1a6 100644
--- a/src/ast.h
+++ b/src/ast.h
@@ -23,6 +23,10 @@
#include <string.h>
#include <stdlib.h>
+#ifdef HAVE_XAA_H
+#include "xaa.h"
+#endif
+
#include "ast_pcirename.h"
#include "compat-api.h"
@@ -204,7 +208,9 @@ typedef struct _ASTRec {
OptionInfoPtr Options;
DisplayModePtr ModePtr;
FBLinearPtr pCMDQPtr;
+#ifdef HAVE_XAA_H
XAAInfoRecPtr AccelInfoPtr;
+#endif
xf86CursorInfoPtr HWCInfoPtr;
FBLinearPtr pHWCPtr;
diff --git a/src/ast_2dtool.c b/src/ast_2dtool.c
index ba58a08..bb99f9d 100644
--- a/src/ast_2dtool.c
+++ b/src/ast_2dtool.c
@@ -44,8 +44,6 @@
/* framebuffer offscreen manager */
#include "xf86fbman.h"
-/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */
diff --git a/src/ast_accel.c b/src/ast_accel.c
index f85692b..34f9c65 100644
--- a/src/ast_accel.c
+++ b/src/ast_accel.c
@@ -45,7 +45,9 @@
#include "xf86fbman.h"
/* include xaa includes */
+#ifdef HAVE_XAA_H
#include "xaa.h"
+#endif
#include "xaarop.h"
/* H/W cursor support */
@@ -103,6 +105,7 @@ extern Bool bGetLineTerm(_LINEInfo *LineInfo, LINEPARAM *dsLineParam);
/* Prototype type declaration */
Bool ASTAccelInit(ScreenPtr pScreen);
+#ifdef HAVE_XAA_H
static void ASTSync(ScrnInfoPtr pScrn);
static void ASTSetupForScreenToScreenCopy(ScrnInfoPtr pScrn,
int xdir, int ydir, int rop,
@@ -157,10 +160,12 @@ static void AIPSubsequentSolidTwoPointLine(ScrnInfoPtr pScrn,
static void AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
int x1, int y1, int x2, int y2,
int flags, int phase);
+#endif
Bool
ASTAccelInit(ScreenPtr pScreen)
{
+#ifdef HAVE_XAA_H
XAAInfoRecPtr infoPtr;
ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
ASTRecPtr pAST = ASTPTR(pScrn);
@@ -283,10 +288,12 @@ ASTAccelInit(ScreenPtr pScreen)
}
return(XAAInit(pScreen, infoPtr));
-
+#else
+ return TRUE;
+#endif
} /* end of ASTAccelInit */
-
+#ifdef HAVE_XAA_H
static void
ASTSync(ScrnInfoPtr pScrn)
{
@@ -1684,6 +1691,7 @@ AIPSubsequentDashedTwoPointLine(ScrnInfoPtr pScrn,
}
}
+#endif
#ifdef AstVideo
/*
diff --git a/src/ast_cursor.c b/src/ast_cursor.c
index 4fcbf95..f967ce9 100644
--- a/src/ast_cursor.c
+++ b/src/ast_cursor.c
@@ -45,7 +45,6 @@
#include "xf86fbman.h"
/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */
diff --git a/src/ast_driver.c b/src/ast_driver.c
index 7d7c035..080b051 100644
--- a/src/ast_driver.c
+++ b/src/ast_driver.c
@@ -49,7 +49,6 @@
#include "xf86fbman.h"
/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */
@@ -714,7 +713,9 @@ ASTPreInit(ScrnInfoPtr pScrn, int flags)
/* Accelaration Check */
pAST->noAccel = TRUE;
+#ifdef HAVE_XAA_H
pAST->AccelInfoPtr = NULL;
+#endif
pAST->pCMDQPtr = NULL;
pAST->CMDQInfo.ulCMDQSize = 0;
#ifdef Accel_2D
@@ -1246,11 +1247,12 @@ ASTCloseScreen(CLOSE_SCREEN_ARGS_DECL)
vgaHWUnmapMem(pScrn);
#endif
+#ifdef HAVE_XAA_H
if(pAST->AccelInfoPtr) {
XAADestroyInfoRec(pAST->AccelInfoPtr);
pAST->AccelInfoPtr = NULL;
}
-
+#endif
if(pAST->HWCInfoPtr) {
xf86DestroyCursorInfoRec(pAST->HWCInfoPtr);
pAST->HWCInfoPtr = NULL;
diff --git a/src/ast_mode.c b/src/ast_mode.c
index 6073ed1..3238f39 100644
--- a/src/ast_mode.c
+++ b/src/ast_mode.c
@@ -45,7 +45,6 @@
#include "xf86fbman.h"
/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */
diff --git a/src/ast_tool.c b/src/ast_tool.c
index 1dd87f0..d11f20d 100644
--- a/src/ast_tool.c
+++ b/src/ast_tool.c
@@ -45,7 +45,6 @@
#include "xf86fbman.h"
/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */
diff --git a/src/ast_vgatool.c b/src/ast_vgatool.c
index 152db1d..ed8c906 100644
--- a/src/ast_vgatool.c
+++ b/src/ast_vgatool.c
@@ -45,7 +45,6 @@
#include "xf86fbman.h"
/* include xaa includes */
-#include "xaa.h"
#include "xaarop.h"
/* H/W cursor support */