diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/radeon_exa_render.c | 6 | ||||
-rw-r--r-- | src/radeon_render.c | 4 |
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; |