summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/radeon_exa_render.c6
-rw-r--r--src/radeon_render.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index d0a72163..92515695 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -246,7 +246,8 @@ static Bool FUNC_NAME(R100TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
txoffset |= RADEON_TXO_MACRO_TILE;
if (pPict->repeat) {
- if (((w * pPix->drawable.bitsPerPixel / 8 + 31) & ~31) != txpitch)
+ if ((h != 1) &&
+ (((w * pPix->drawable.bitsPerPixel / 8 + 31) & ~31) != txpitch))
RADEON_FALLBACK(("Width %d and pitch %u not compatible for repeat\n",
w, (unsigned)txpitch));
@@ -506,7 +507,8 @@ static Bool FUNC_NAME(R200TextureSetup)(PicturePtr pPict, PixmapPtr pPix,
txoffset |= R200_TXO_MACRO_TILE;
if (pPict->repeat) {
- if (((w * pPix->drawable.bitsPerPixel / 8 + 31) & ~31) != txpitch)
+ if ((h != 1) &&
+ (((w * pPix->drawable.bitsPerPixel / 8 + 31) & ~31) != txpitch))
RADEON_FALLBACK(("Width %d and pitch %u not compatible for repeat\n",
w, (unsigned)txpitch));
diff --git a/src/radeon_render.c b/src/radeon_render.c
index 054e60f7..5074fe1f 100644
--- a/src/radeon_render.c
+++ b/src/radeon_render.c
@@ -401,7 +401,7 @@ static Bool FUNC_NAME(R100SetupTexture)(
dst_pitch = (width * tex_bytepp + 63) & ~63;
size = dst_pitch * height;
- if ((flags & XAA_RENDER_REPEAT) &&
+ if ((flags & XAA_RENDER_REPEAT) && (height != 1) &&
(((width * tex_bytepp + 31) & ~31) != dst_pitch))
return FALSE;
@@ -738,7 +738,7 @@ static Bool FUNC_NAME(R200SetupTexture)(
dst_pitch = (width * tex_bytepp + 63) & ~63;
size = dst_pitch * height;
- if ((flags & XAA_RENDER_REPEAT) &&
+ if ((flags & XAA_RENDER_REPEAT) && (height != 1) &&
(((width * tex_bytepp + 31) & ~31) != dst_pitch))
return FALSE;