From fa0677ab43722462042f87c4636a7d59d1cb873f Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Tue, 21 Dec 2004 09:51:47 +0000 Subject: [PATCH] Fix r200 render (for real this time?) by setting tex1_comp_cnt right for non-mask rendering. Reenable it. Also, R200TexFormats was used instead of R100 in one place. Harmless so far, because the formats were in the same order. --- hw/kdrive/ati/ati_draw.c | 2 +- hw/kdrive/ati/radeon_composite.c | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/hw/kdrive/ati/ati_draw.c b/hw/kdrive/ati/ati_draw.c index c5512704b..48c099bf5 100644 --- a/hw/kdrive/ati/ati_draw.c +++ b/hw/kdrive/ati/ati_draw.c @@ -777,7 +777,7 @@ ATIDrawEnable(ScreenPtr pScreen) atis->kaa.PrepareComposite = R100PrepareComposite; atis->kaa.Composite = RadeonComposite; atis->kaa.DoneComposite = RadeonDoneComposite; - } else if (0 && atic->is_r200) { /* XXX */ + } else if (atic->is_r200) { atis->kaa.CheckComposite = R200CheckComposite; atis->kaa.PrepareComposite = R200PrepareComposite; atis->kaa.Composite = RadeonComposite; diff --git a/hw/kdrive/ati/radeon_composite.c b/hw/kdrive/ati/radeon_composite.c index 573eb0a91..3e343a38c 100644 --- a/hw/kdrive/ati/radeon_composite.c +++ b/hw/kdrive/ati/radeon_composite.c @@ -384,6 +384,7 @@ R200CheckCompositeTexture(PicturePtr pPict, int unit) return TRUE; } + static Bool R200TextureSetup(PicturePtr pPict, PixmapPtr pPix, int unit) { @@ -405,7 +406,7 @@ R200TextureSetup(PicturePtr pPict, PixmapPtr pPix, int unit) break; } txformat = R200TexFormats[i].card_fmt; - if (R100TexFormats[i].byte_swap) + if (R200TexFormats[i].byte_swap) txoffset |= RADEON_TXO_ENDIAN_BYTE_SWAP; if (pPict->repeat) { @@ -527,7 +528,7 @@ R200PrepareComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskPicture, OUT_REG(R200_REG_SE_VTX_FMT_0, R200_VTX_XY); OUT_REG(R200_REG_SE_VTX_FMT_1, (2 << R200_VTX_TEX0_COMP_CNT_SHIFT) | - (2 << R200_VTX_TEX1_COMP_CNT_SHIFT)); + (pMask != NULL) ? (2 << R200_VTX_TEX1_COMP_CNT_SHIFT) : 0); OUT_REG(RADEON_REG_RB3D_COLORPITCH, dst_pitch >> pixel_shift);