diff options
Diffstat (limited to 'src/aticonfig.c')
-rw-r--r-- | src/aticonfig.c | 31 |
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); } |