xserver/hw/kdrive/ati radeon_composite.c,1.17,1.18

Keith Packard xserver-commit at pdx.freedesktop.org
Tue Feb 8 14:43:56 PST 2005


Committed by: keithp

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

Modified Files:
	radeon_composite.c 
Log Message:
2005-02-08  Keith Packard  <keithp at keithp.com>

	* hw/kdrive/ati/radeon_composite.c 
	Support linear filtering
	
	* hw/kdrive/fbdev/fbinit.c: (InitInput):
	* hw/kdrive/ipaq/ipaq.c: (InitInput):
	* hw/kdrive/linux/Makefile.am:
	* hw/kdrive/linux/linux.c: (LinuxFini):
	* hw/kdrive/mach64/mach64stub.c: (InitCard):
	* hw/kdrive/src/kaa.c: (kaaFillTiled):
	* hw/kdrive/src/kaa.h:
	* hw/kdrive/src/kdrive.h:
	* hw/kdrive/src/kinput.c: (KdMouseProc), (KdAddMouseDriver),
	(KdInitInput):
	Change how touch screens work -- make them just another 'mouse'
	device.
	Add unfinished (and unused) code to accelerate tiled fills.



Index: radeon_composite.c
===================================================================
RCS file: /cvs/xserver/xserver/hw/kdrive/ati/radeon_composite.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- radeon_composite.c	27 Jan 2005 05:25:57 -0000	1.17
+++ radeon_composite.c	8 Feb 2005 22:43:53 -0000	1.18
@@ -164,7 +164,7 @@
 {
 	ATIScreenInfo *atis = accel_atis;
 	KdScreenPriv(pPix->drawable.pScreen);
-	CARD32 txformat, txoffset, txpitch;
+	CARD32 txfilter, txformat, txoffset, txpitch;
 	int w = pPict->pDrawable->width;
 	int h = pPict->pDrawable->height;
 	int i;
@@ -196,10 +196,24 @@
 	if ((txpitch & 0x1f) != 0)
 		ATI_FALLBACK(("Bad texture pitch 0x%x\n", txpitch));
 
+	switch (pPict->filter) {
+	case PictFilterNearest:
+		txfilter = (RADEON_MAG_FILTER_NEAREST |
+			    RADEON_MIN_FILTER_NEAREST);
+		break;
+	case PictFilterBilinear:
+		txfilter = (RADEON_MAG_FILTER_LINEAR |
+			    RADEON_MIN_FILTER_LINEAR);
+		break;
+	default:
+		ATI_FALLBACK (("Bad filter 0x%x\n", pPict->filter));
+		break;
+	}
+
 	BEGIN_DMA(7);
 	if (unit == 0) {
 		OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXFILTER_0, 3));
-		OUT_RING_REG(RADEON_REG_PP_TXFILTER_0, 0);
+		OUT_RING_REG(RADEON_REG_PP_TXFILTER_0, txfilter);
 		OUT_RING_REG(RADEON_REG_PP_TXFORMAT_0, txformat);
 		OUT_RING_REG(RADEON_REG_PP_TXOFFSET_0, txoffset);
 		OUT_RING(DMA_PACKET0(RADEON_REG_PP_TEX_SIZE_0, 2));
@@ -209,7 +223,7 @@
 		OUT_RING_REG(RADEON_REG_PP_TEX_PITCH_0, txpitch - 32);
 	} else {
 		OUT_RING(DMA_PACKET0(RADEON_REG_PP_TXFILTER_1, 3));
-		OUT_RING_REG(RADEON_REG_PP_TXFILTER_1, 0);
+		OUT_RING_REG(RADEON_REG_PP_TXFILTER_1, txfilter);
 		OUT_RING_REG(RADEON_REG_PP_TXFORMAT_1, txformat);
 		OUT_RING_REG(RADEON_REG_PP_TXOFFSET_1, txoffset);
 		OUT_RING(DMA_PACKET0(RADEON_REG_PP_TEX_SIZE_1, 2));



More information about the xserver-commit mailing list