summaryrefslogtreecommitdiff
path: root/src/smi_exa.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/smi_exa.c')
-rw-r--r--src/smi_exa.c16
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);