summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/radeon_driver.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
index 14d13b5..fe56930 100644
--- a/src/radeon_driver.c
+++ b/src/radeon_driver.c
@@ -9142,6 +9142,19 @@ _X_EXPORT void RADEONLeaveVT(int scrnIndex, int flags)
/* we need to backup the PCIE GART TABLE from fb memory */
memcpy(info->pciGartBackup, (info->FB + info->pciGartOffset), info->pciGartSize);
}
+
+ /* Make sure 3D clients will re-upload textures to video RAM */
+ if (info->textureSize) {
+ RADEONSAREAPrivPtr pSAREAPriv =
+ (RADEONSAREAPrivPtr)DRIGetSAREAPrivate(pScrn->pScreen);
+ drmTextureRegionPtr list = pSAREAPriv->texList[0];
+ int age = ++pSAREAPriv->texAge[0], i = 0;
+
+ do {
+ list[i].age = age;
+ i = list[i].next;
+ } while (i != 0);
+ }
}
#endif