xf86-video-ati: Branch 'ati-6.6-branch'

Michel Daenzer daenzer at kemper.freedesktop.org
Tue Mar 20 10:36:22 EET 2007


 src/radeon_driver.c |   13 +++++++++++++
 1 files changed, 13 insertions(+)

New commits:
diff-tree a5570f3561ed4839a8a499e8938d62ad7a5a14ca (from 355fa6a5f01183ce2c6fadc7f1e8cb683b9adfd4)
Author: Michel Dänzer <michel at tungstengraphics.com>
Date:   Tue Mar 20 09:10:19 2007 +0100

    radeon: Make sure 3D clients will re-upload textures to video RAM after LeaveVT.
    
    Walk the SAREA texList and bump the age of every active object, so their owners
    will consider them kicked out when they grab the HW lock next time.

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 scrnInd
             /* 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
 



More information about the xorg-commit mailing list