diff options
author | Eric Anholt <eric@anholt.net> | 2007-01-25 15:31:22 -0800 |
---|---|---|
committer | Eric Anholt <eric@anholt.net> | 2007-01-25 15:31:22 -0800 |
commit | 5c1e27cdd243dc24dd2bfdeb46d757bbef6ba6af (patch) | |
tree | 7f5fe9402e38f5f902c6336a3819cb690ce70a73 /src/i830_exa.c | |
parent | 83cc4601b27d871484a2408f31154e9387064b9e (diff) |
Make rotated shadow buffer allocation dynamic.
For EXA, this requires version 2.1 of EXA to do rotation, as the VT switching
issues were too complicated otherwise.
Diffstat (limited to 'src/i830_exa.c')
-rw-r--r-- | src/i830_exa.c | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/i830_exa.c b/src/i830_exa.c index f1cd1e36..3fd5e4ae 100644 --- a/src/i830_exa.c +++ b/src/i830_exa.c @@ -418,7 +418,7 @@ I830EXAInit(ScreenPtr pScreen) pI830->bufferOffset = 0; pI830->EXADriverPtr->exa_major = 2; - pI830->EXADriverPtr->exa_minor = 0; + pI830->EXADriverPtr->exa_minor = 1; pI830->EXADriverPtr->memoryBase = pI830->FbBase; pI830->EXADriverPtr->offScreenBase = pI830->Offscreen.Start; pI830->EXADriverPtr->memorySize = pI830->Offscreen.End; @@ -520,9 +520,14 @@ I830EXAInit(ScreenPtr pScreen) } if(!exaDriverInit(pScreen, pI830->EXADriverPtr)) { - xfree(pI830->EXADriverPtr); - pI830->noAccel = TRUE; - return FALSE; + xf86DrvMsg(pScrn->scrnIndex, X_INFO, + "EXA initialization failed; trying older version\n"); + pI830->EXADriverPtr->exa_minor = 0; + if(!exaDriverInit(pScreen, pI830->EXADriverPtr)) { + xfree(pI830->EXADriverPtr); + pI830->noAccel = TRUE; + return FALSE; + } } I830SelectBuffer(pScrn, I830_SELECT_FRONT); |