diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/radeon_exa_render.c | 11 | ||||
-rw-r--r-- | src/radeon_textured_videofuncs.c | 6 |
2 files changed, 14 insertions, 3 deletions
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: diff --git a/src/radeon_textured_videofuncs.c b/src/radeon_textured_videofuncs.c index dd6f862c..de0eeb6f 100644 --- a/src/radeon_textured_videofuncs.c +++ b/src/radeon_textured_videofuncs.c @@ -1079,6 +1079,7 @@ FUNC_NAME(R300DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_MAG_FILTER_LINEAR | R300_TX_MIN_FILTER_LINEAR | (0 << R300_TX_ID_SHIFT)); @@ -1107,6 +1108,7 @@ FUNC_NAME(R300DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) txpitch -= 1; txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_MIN_FILTER_LINEAR | R300_TX_MAG_FILTER_LINEAR); @@ -1139,6 +1141,7 @@ FUNC_NAME(R300DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) /* Tex filter */ txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_WRAP) | R300_TX_CLAMP_T(R300_TX_CLAMP_WRAP) | + R300_TX_CLAMP_R(R300_TX_CLAMP_WRAP) | R300_TX_MIN_FILTER_NEAREST | R300_TX_MAG_FILTER_NEAREST | (1 << R300_TX_ID_SHIFT)); @@ -2505,6 +2508,7 @@ FUNC_NAME(R500DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_MAG_FILTER_LINEAR | R300_TX_MIN_FILTER_LINEAR | (0 << R300_TX_ID_SHIFT)); @@ -2537,6 +2541,7 @@ FUNC_NAME(R500DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) txpitch -= 1; txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_CLAMP_T(R300_TX_CLAMP_CLAMP_LAST) | + R300_TX_CLAMP_R(R300_TX_CLAMP_CLAMP_LAST) | R300_TX_MIN_FILTER_LINEAR | R300_TX_MAG_FILTER_LINEAR); @@ -2569,6 +2574,7 @@ FUNC_NAME(R500DisplayTexturedVideo)(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) /* Tex filter */ txfilter = (R300_TX_CLAMP_S(R300_TX_CLAMP_WRAP) | R300_TX_CLAMP_T(R300_TX_CLAMP_WRAP) | + R300_TX_CLAMP_R(R300_TX_CLAMP_WRAP) | R300_TX_MIN_FILTER_NEAREST | R300_TX_MAG_FILTER_NEAREST | (1 << R300_TX_ID_SHIFT)); |