From dab3d61619d91ae6a3da3e9b29b8258313653813 Mon Sep 17 00:00:00 2001 From: Dave Airlie Date: Thu, 23 Apr 2009 15:46:44 +1000 Subject: r300/r500: set R clamp mode. On rs690 without this set, we appear to end up fetching from well outside the texture sometimes into memory that isn't mapped. This "shouldn't" have any effect. --- src/radeon_exa_render.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'src/radeon_exa_render.c') diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c index 831a6ff5..b5e36e71 100644 --- a/src/radeon_exa_render.c +++ b/src/radeon_exa_render.c @@ -1117,23 +1117,28 @@ static Bool FUNC_NAME(R300TextureSetup)(PicturePtr pPict, PixmapPtr pPix, else txfilter |= R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_GL); + txfilter |= R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_GL); break; case RepeatPad: txfilter |= R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_LAST) | - R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST); + R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_LAST); break; case RepeatReflect: txfilter |= R300_TX_CLAMP_S(R300_TX_CLAMP_MIRROR) | + R300_TX_CLAMP_T(R300_TX_CLAMP_MIRROR) | R300_TX_CLAMP_T(R300_TX_CLAMP_MIRROR); break; case RepeatNone: txfilter |= R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_GL) | - R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_GL); + R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_GL) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_GL); break; } } else txfilter |= R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_GL) | - R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_GL); + R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_GL) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_GL); switch (pPict->filter) { case PictFilterNearest: -- cgit v1.2.3