summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2011-12-19 16:45:25 -0500
committerAdam Jackson <ajax@redhat.com>2011-12-19 16:45:41 -0500
commitfa20f8f2408ac81ff04d81196a56c907fba01c45 (patch)
tree27e1bcb512cec8caae569a0abe2c4f35a398251d
parent0de234329fa1c3365954498819da93d64a978911 (diff)
Fall back to shadowfb if XAA is unavailable
Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--src/atiload.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/atiload.c b/src/atiload.c
index 621b0b0..b96ed4b 100644
--- a/src/atiload.c
+++ b/src/atiload.c
@@ -43,11 +43,6 @@ ATILoadModules
{
pointer fbPtr = NULL;
- /* Load shadow frame buffer code if needed */
- if (pATI->OptionShadowFB &&
- !xf86LoadSubModule(pScreenInfo, "shadowfb"))
- return NULL;
-
/* Load depth-specific entry points */
switch (pATI->bitsPerPixel)
{
@@ -90,9 +85,18 @@ ATILoadModules
#ifdef USE_XAA
/* Load XAA if needed */
if (!pATI->useEXA && pATI->OptionAccel &&
- !xf86LoadSubModule(pScreenInfo, "xaa"))
- return NULL;
+ !xf86LoadSubModule(pScreenInfo, "xaa")) {
+ xf86DrvMsg(pScreenInfo->scrnIndex, X_INFO,
+ "Falling back to shadowfb\n");
+ pATI->OptionAccel = 0;
+ pATI->OptionShadowFB = 1;
+ }
#endif
+ /* Load shadow frame buffer code if needed */
+ if (pATI->OptionShadowFB &&
+ !xf86LoadSubModule(pScreenInfo, "shadowfb"))
+ return NULL;
+
return fbPtr;
}