xf86-video-ati: Branch 'master'

Alex Deucher agd5f at kemper.freedesktop.org
Thu Feb 12 10:11:40 PST 2009


 src/radeon_exa_render.c |   60 +++++++++++++++++++++++++-----------------------
 1 file changed, 32 insertions(+), 28 deletions(-)

New commits:
commit adc35636aa1e936ec74cba8931ccffe2b5c11656
Author: Alex Deucher <alexdeucher at gmail.com>
Date:   Thu Feb 12 13:10:53 2009 -0500

    R1xx/R2xx EXA: fix non repeat texture setup

diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index a7626dd..a8d99ec 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -284,7 +284,7 @@ static Bool RADEONSetupSourceTile(PicturePtr pPict,
     info->accel_state->need_src_tile_x = info->accel_state->need_src_tile_y = FALSE;
     info->accel_state->src_tile_width = info->accel_state->src_tile_height = 65536; /* "infinite" */
 	    
-    if (pPict->repeatType == RepeatNormal) {
+    if (pPict->repeat && pPict->repeatType == RepeatNormal) {
 	Bool badPitch = needMatchingPitch && !RADEONPitchMatches(pPix);
 	
 	int w = pPict->pDrawable->width;
@@ -369,7 +369,7 @@ static Bool FUNC_NAME(R100TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
 	RADEON_FALLBACK(("Bad texture offset 0x%x\n", (int)txoffset));
     if ((txpitch & 0x1f) != 0)
 	RADEON_FALLBACK(("Bad texture pitch 0x%x\n", (int)txpitch));
-    
+
     for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++)
     {
 	if (R100TexFormats[i].fmt == pPict->format)
@@ -404,19 +404,21 @@ static Bool FUNC_NAME(R100TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
 	RADEON_FALLBACK(("Bad filter 0x%x\n", pPict->filter));
     }
 
-    switch (pPict->repeatType) {
-    case RepeatNormal:
-	txfilter |= RADEON_CLAMP_S_WRAP | RADEON_CLAMP_T_WRAP;
-	break;
-    case RepeatPad:
-	txfilter |= RADEON_CLAMP_S_CLAMP_LAST | RADEON_CLAMP_T_CLAMP_LAST;
-	break;
-    case RepeatReflect:
-	txfilter |= RADEON_CLAMP_S_MIRROR | RADEON_CLAMP_T_MIRROR;
-	break;
-    case RepeatNone:
-	/* Nothing to do */
-	break;
+    if (repeat) {
+	switch (pPict->repeatType) {
+	case RepeatNormal:
+	    txfilter |= RADEON_CLAMP_S_WRAP | RADEON_CLAMP_T_WRAP;
+	    break;
+	case RepeatPad:
+	    txfilter |= RADEON_CLAMP_S_CLAMP_LAST | RADEON_CLAMP_T_CLAMP_LAST;
+	    break;
+	case RepeatReflect:
+	    txfilter |= RADEON_CLAMP_S_MIRROR | RADEON_CLAMP_T_MIRROR;
+	    break;
+	case RepeatNone:
+	    /* Nothing to do */
+	    break;
+	}
     }
 
     BEGIN_ACCEL(5);
@@ -740,19 +742,21 @@ static Bool FUNC_NAME(R200TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
 	RADEON_FALLBACK(("Bad filter 0x%x\n", pPict->filter));
     }
 
-    switch (pPict->repeatType) {
-    case RepeatNormal:
-	txfilter |= R200_CLAMP_S_WRAP | R200_CLAMP_T_WRAP;
-	break;
-    case RepeatPad:
-	txfilter |= R200_CLAMP_S_CLAMP_LAST | R200_CLAMP_T_CLAMP_LAST;
-	break;
-    case RepeatReflect:
-	txfilter |= R200_CLAMP_S_MIRROR | R200_CLAMP_T_MIRROR;
-	break;
-    case RepeatNone:
-	/* Nothing to do */
-	break;
+    if (repeat) {
+	switch (pPict->repeatType) {
+	case RepeatNormal:
+	    txfilter |= R200_CLAMP_S_WRAP | R200_CLAMP_T_WRAP;
+	    break;
+	case RepeatPad:
+	    txfilter |= R200_CLAMP_S_CLAMP_LAST | R200_CLAMP_T_CLAMP_LAST;
+	    break;
+	case RepeatReflect:
+	    txfilter |= R200_CLAMP_S_MIRROR | R200_CLAMP_T_MIRROR;
+	    break;
+	case RepeatNone:
+	    /* Nothing to do */
+	    break;
+	}
     }
 
     BEGIN_ACCEL(6);


More information about the xorg-commit mailing list