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