[PATCH] Re-write MSAA registers, if available.

Corbin Simpson mostawesomedude at gmail.com
Sun Apr 11 12:36:57 PDT 2010


Respin with pre-emptive version_patchlevel bump. This depends on a patch to
DRM adding these registers to the safe list for r300, r420, and rv515.

---
 src/radeon_commonfuncs.c |   11 +++++++++--
 1 files changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
index 8c46235..c9aefa3 100644
--- a/src/radeon_commonfuncs.c
+++ b/src/radeon_commonfuncs.c
@@ -116,8 +116,10 @@ static void FUNC_NAME(RADEONInit3DEngine)(ScrnInfoPtr pScrn)
 	OUT_ACCEL_REG(R300_RB3D_ZCACHE_CTLSTAT, R300_ZC_FLUSH | R300_ZC_FREE);
 	FINISH_ACCEL();
 
-	if (!info->cs) {
-	    BEGIN_ACCEL(3);
+	if (!info->cs ||
+        info->dri->pKernelDRMVersion->version_minor >= 1 ||
+        info->dri->pKernelDRMVersion->version_patchlevel >= 2) {
+	    BEGIN_ACCEL(2);
 	    OUT_ACCEL_REG(R300_GB_MSPOS0, ((6 << R300_MS_X0_SHIFT) |
 					   (6 << R300_MS_Y0_SHIFT) |
 					   (6 << R300_MS_X1_SHIFT) |
@@ -133,6 +135,11 @@ static void FUNC_NAME(RADEONInit3DEngine)(ScrnInfoPtr pScrn)
 					   (6 << R300_MS_X5_SHIFT) |
 					   (6 << R300_MS_Y5_SHIFT) |
 					   (6 << R300_MSBD1_SHIFT)));
+	    FINISH_ACCEL();
+	}
+
+	if (!info->cs) {
+	    BEGIN_ACCEL(1);
 	    OUT_ACCEL_REG(R300_GA_ENHANCE, R300_GA_DEADLOCK_CNTL | R300_GA_FASTSYNC_CNTL);
 	    FINISH_ACCEL();
 	}
-- 
1.6.5.2



More information about the xorg-driver-ati mailing list