diff options
Diffstat (limited to 'src/smi_exa.c')
-rw-r--r-- | src/smi_exa.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/smi_exa.c b/src/smi_exa.c index 98d34e8..9246298 100644 --- a/src/smi_exa.c +++ b/src/smi_exa.c @@ -71,19 +71,20 @@ SMI_EXAInit(ScreenPtr pScreen) RETURN(FALSE); } + /* Require 2.1 semantics: + Don't uninitialize the memory manager when swapping out */ pSmi->EXADriverPtr->exa_major = 2; - pSmi->EXADriverPtr->exa_minor = 0; + pSmi->EXADriverPtr->exa_minor = 1; SMI_EngineReset(pScrn); /* Memory Manager */ - if(pSmi->shadowFB){ - pSmi->EXADriverPtr->memoryBase = pSmi->FBBase; /* The shadow framebuffer is located at offset 0 */ - }else{ - pSmi->EXADriverPtr->memoryBase = pSmi->FBBase + pSmi->FBOffset; - } + pSmi->EXADriverPtr->memoryBase = pSmi->FBBase; pSmi->EXADriverPtr->memorySize = pSmi->FBReserved; - pSmi->EXADriverPtr->offScreenBase = pScrn->displayWidth * pSmi->height * pSmi->Bpp; + + /* The framebuffer is allocated as an offscreen area with the + memory manager (It makes easier further resizing) */ + pSmi->EXADriverPtr->offScreenBase = 0; /* Flags */ pSmi->EXADriverPtr->flags = EXA_TWO_BITBLT_DIRECTIONS; @@ -138,6 +139,7 @@ SMI_EXAInit(ScreenPtr pScreen) RETURN(FALSE); } + xf86DrvMsg(pScrn->scrnIndex, X_INFO, "EXA Acceleration enabled.\n"); RETURN(TRUE); |