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