summaryrefslogtreecommitdiff
path: root/src/savage_dri.c
diff options
context:
space:
mode:
authorTormod Volden <debian.tormod@gmail.com>2011-04-18 22:36:25 +0200
committerTormod Volden <debian.tormod@gmail.com>2011-04-21 21:47:13 +0200
commitce6d156b72971bb8215a9443cbe76ce007c79663 (patch)
tree205e6a4ade3c5822cd6af448de5fb6fcd2112828 /src/savage_dri.c
parentdad240d81ea5fa946d494467e677c6e1a3a12fd7 (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/savage_dri.c')
-rw-r--r--src/savage_dri.c14
1 files changed, 13 insertions, 1 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 )
{