summaryrefslogtreecommitdiff
path: root/src/aticonfig.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/aticonfig.c')
-rw-r--r--src/aticonfig.c31
1 files changed, 31 insertions, 0 deletions
diff --git a/src/aticonfig.c b/src/aticonfig.c
index 6a118a0..d0a3677 100644
--- a/src/aticonfig.c
+++ b/src/aticonfig.c
@@ -28,6 +28,8 @@
#include "config.h"
#endif
+#include <string.h>
+
#include "ati.h"
#include "atiadapter.h"
#include "atichip.h"
@@ -151,6 +153,8 @@ ATIProcessOptions
# define ProbeClocks PublicOption[ATI_OPTION_PROBE_CLOCKS].value.bool
# define ShadowFB PublicOption[ATI_OPTION_SHADOW_FB].value.bool
# define SWCursor PublicOption[ATI_OPTION_SWCURSOR].value.bool
+# define AccelMethod PublicOption[ATI_OPTION_ACCELMETHOD].value.str
+# define RenderAccel PublicOption[ATI_OPTION_RENDER_ACCEL].value.bool
# define LCDSync PrivateOption[ATI_OPTION_LCDSYNC].value.bool
# define ReferenceClock \
@@ -338,5 +342,32 @@ ATIProcessOptions
}
}
+ pATI->useEXA = FALSE;
+ if (pATI->OptionAccel)
+ {
+ MessageType from = X_DEFAULT;
+#if defined(USE_EXA)
+#if defined(USE_XAA)
+ if (AccelMethod != NULL)
+ {
+ from = X_CONFIG;
+ if (xf86NameCmp(AccelMethod, "EXA") == 0)
+ pATI->useEXA = TRUE;
+ }
+#else /* USE_XAA */
+ pATI->useEXA = TRUE;
+#endif /* !USE_XAA */
+#endif /* USE_EXA */
+ xf86DrvMsg(pScreenInfo->scrnIndex, from,
+ "Using %s acceleration architecture\n",
+ pATI->useEXA ? "EXA" : "XAA");
+
+ pATI->RenderAccelEnabled = FALSE;
+#if defined(USE_EXA)
+ if (pATI->useEXA && RenderAccel)
+ pATI->RenderAccelEnabled = TRUE;
+#endif
+ }
+
xfree(PublicOption);
}