summaryrefslogtreecommitdiff
path: root/src/savage_dri.c
diff options
context:
space:
mode:
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 )
{