diff options
author | Tormod Volden <debian.tormod@gmail.com> | 2011-04-18 22:36:25 +0200 |
---|---|---|
committer | Tormod Volden <debian.tormod@gmail.com> | 2011-04-21 21:47:13 +0200 |
commit | ce6d156b72971bb8215a9443cbe76ce007c79663 (patch) | |
tree | 205e6a4ade3c5822cd6af448de5fb6fcd2112828 /src | |
parent | dad240d81ea5fa946d494467e677c6e1a3a12fd7 (diff) |
savage: New SAVAGEDRIResume function
Move DRI stuff from savage_driver.c to savage_dri.c
Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
Reviewed-by: Matt Turner <mattst88@gmail.com>
Reviewed-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/savage_dri.c | 14 | ||||
-rw-r--r-- | src/savage_driver.c | 9 | ||||
-rw-r--r-- | src/savage_driver.h | 2 |
3 files changed, 16 insertions, 9 deletions
diff --git a/src/savage_dri.c b/src/savage_dri.c index e0b9f86..70e50cb 100644 --- a/src/savage_dri.c +++ b/src/savage_dri.c @@ -1078,7 +1078,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen ) return TRUE; } -void SAVAGEDRISetupTiledSurfaceRegs( SavagePtr psav ) +static void SAVAGEDRISetupTiledSurfaceRegs( SavagePtr psav ) { SAVAGEDRIPtr pSAVAGEDRI = (SAVAGEDRIPtr)psav->pDRIInfo->devPrivate; unsigned int value = 0; @@ -1287,6 +1287,18 @@ Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen ) return TRUE; } +void SAVAGEDRIResume(ScreenPtr pScreen) +{ + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + SavagePtr psav = SAVPTR(pScrn); + SAVAGESAREAPrivPtr pSAREAPriv = + (SAVAGESAREAPrivPtr)DRIGetSAREAPrivate(pScreen); + + SAVAGEDRISetupTiledSurfaceRegs(psav); + /* Assume that 3D state was clobbered, invalidate it by + * changing ctxOwner in the sarea. */ + pSAREAPriv->ctxOwner = DRIGetContext(pScreen); +} void SAVAGEDRICloseScreen( ScreenPtr pScreen ) { diff --git a/src/savage_driver.c b/src/savage_driver.c index 2aa50f4..6eb7dda 100644 --- a/src/savage_driver.c +++ b/src/savage_driver.c @@ -2200,9 +2200,8 @@ static Bool SavageEnterVT(int scrnIndex, int flags) { ScrnInfoPtr pScrn = xf86Screens[scrnIndex]; #ifdef XF86DRI - SavagePtr psav= SAVPTR(pScrn); + SavagePtr psav = SAVPTR(pScrn); ScreenPtr pScreen; - SAVAGESAREAPrivPtr pSAREAPriv; #endif TRACE(("SavageEnterVT(%d)\n", flags)); @@ -2213,13 +2212,9 @@ static Bool SavageEnterVT(int scrnIndex, int flags) #ifdef XF86DRI if (psav->directRenderingEnabled) { pScreen = screenInfo.screens[scrnIndex]; - pSAREAPriv = (SAVAGESAREAPrivPtr)DRIGetSAREAPrivate(pScreen); - /* Assume that 3D state was clobbered, invalidate it by - * changing ctxOwner in the sarea. */ - pSAREAPriv->ctxOwner = DRIGetContext(pScreen); + SAVAGEDRIResume(pScreen); DRIUnlock(pScreen); psav->LockHeld = 0; - SAVAGEDRISetupTiledSurfaceRegs ( psav ); } #endif if (!SAVPTR(pScrn)->IsSecondary) diff --git a/src/savage_driver.h b/src/savage_driver.h index 64587fc..fde47ff 100644 --- a/src/savage_driver.h +++ b/src/savage_driver.h @@ -559,7 +559,7 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen ); Bool SAVAGEInitMC(ScreenPtr pScreen); void SAVAGEDRICloseScreen( ScreenPtr pScreen ); Bool SAVAGEDRIFinishScreenInit( ScreenPtr pScreen ); -void SAVAGEDRISetupTiledSurfaceRegs ( SavagePtr psav ); +void SAVAGEDRIResume( ScreenPtr pScreen ); Bool SAVAGELockUpdate( ScrnInfoPtr pScrn, drmLockFlags flags ); |