xserver/hw/kdrive/ati ati_draw.c,1.29,1.30 ati_reg.h,1.15,1.16

Keith Packard xserver-commit@pdx.freedesktop.org
Mon Jan 24 22:04:23 PST 2005


Committed by: keithp

Update of /cvs/xserver/xserver/hw/kdrive/ati
In directory gabe:/tmp/cvs-serv9277

Modified Files:
	ati_draw.c ati_reg.h 
Log Message:
Fix R100 text by forcing the 3d engine to idle before executing more 3d
commands.  Add docs for the ISYNC_CNTL register, which doesn't quite do
what we want.


Index: ati_draw.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/ati/ati_draw.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- ati_draw.c	25 Jan 2005 03:37:05 -0000	1.29
+++ ati_draw.c	25 Jan 2005 06:04:21 -0000	1.30
@@ -214,8 +214,9 @@
 	ENTER_DRAW(0);
 	BEGIN_DMA(4);
 	OUT_REG(RADEON_REG_RB3D_DSTCACHE_CTLSTAT, RADEON_RB3D_DC_FLUSH);
+	/* We must wait for 3d to idle, in case source was just written as a dest. */
 	OUT_REG(ATI_REG_WAIT_UNTIL,
-	    RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_2D_IDLECLEAN);
+	    RADEON_WAIT_HOST_IDLECLEAN | RADEON_WAIT_2D_IDLECLEAN | RADEON_WAIT_3D_IDLECLEAN);
 	END_DMA();
 	LEAVE_DRAW(0);
 }

Index: ati_reg.h
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/ati/ati_reg.h,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- ati_reg.h	25 Jan 2005 03:37:05 -0000	1.15
+++ ati_reg.h	25 Jan 2005 06:04:21 -0000	1.16
@@ -416,6 +416,10 @@
 # define RADEON_WAIT_BOTH_CRTC_PFLIP		(1 << 30)
 # define RADEON_ENG_DISPLAY_SELECT		(1 << 31)
 
+#define RADEON_REG_ISYNC_CNTL			0x1724
+#define ISYNC_ANY2D_IDLE3D			0x1
+#define ISYNC_ANY3D_IDLE2D			0x2
+
 #define R128_REG_GUI_STAT			0x1740
 # define R128_GUI_ACTIVE			(1 << 31)
 



More information about the xserver-commit mailing list