diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2008-12-26 19:31:55 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2008-12-26 19:31:55 -0500 |
commit | e55598cc1b35d398c9eb2c3946df71456775f621 (patch) | |
tree | 1a2d5fce536a6aca26e4c71a5e5dc06a444dae4a | |
parent | 631123d144d088d4f77a0599c34deaa31d551d71 (diff) |
R2xx EXA: limit composite to 2047 like r1xx
See bug 19269
-rw-r--r-- | src/radeon_exa_render.c | 24 |
1 files changed, 16 insertions, 8 deletions
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c index c2851096..39c987c4 100644 --- a/src/radeon_exa_render.c +++ b/src/radeon_exa_render.c @@ -324,7 +324,7 @@ static Bool R100CheckCompositeTexture(PicturePtr pPict, int unit) * see 197a62704742a4a19736c2637ac92d1dc5ab34ed */ - if ((w > 2047) || (h > 2047)) + if ((w > 2048) || (h > 2048)) RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); for (i = 0; i < sizeof(R100TexFormats) / sizeof(R100TexFormats[0]); i++) { @@ -643,7 +643,11 @@ static Bool R200CheckCompositeTexture(PicturePtr pPict, int unit) int h = pPict->pDrawable->height; int i; - if ((w > 2048) || (h > 2048)) + /* r200 limit should be 2048, there are issues with 2048 + * see bug 19269 + */ + + if ((w > 2047) || (h > 2047)) RADEON_FALLBACK(("Picture w/h too large (%dx%d)\n", w, h)); for (i = 0; i < sizeof(R200TexFormats) / sizeof(R200TexFormats[0]); i++) @@ -768,10 +772,14 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP if (!pSrcPicture->pDrawable) return FALSE; + /* r200 limit should be 2048, there are issues with 2048 + * see bug 19269 + */ + pSrcPixmap = RADEONGetDrawablePixmap(pSrcPicture->pDrawable); - if (pSrcPixmap->drawable.width > 2048 || - pSrcPixmap->drawable.height > 2048) { + if (pSrcPixmap->drawable.width > 2047 || + pSrcPixmap->drawable.height > 2047) { RADEON_FALLBACK(("Source w/h too large (%d,%d).\n", pSrcPixmap->drawable.width, pSrcPixmap->drawable.height)); @@ -779,8 +787,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP pDstPixmap = RADEONGetDrawablePixmap(pDstPicture->pDrawable); - if (pDstPixmap->drawable.width > 2048 || - pDstPixmap->drawable.height > 2048) { + if (pDstPixmap->drawable.width > 2047 || + pDstPixmap->drawable.height > 2047) { RADEON_FALLBACK(("Dest w/h too large (%d,%d).\n", pDstPixmap->drawable.width, pDstPixmap->drawable.height)); @@ -789,8 +797,8 @@ static Bool R200CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP if (pMaskPicture) { PixmapPtr pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable); - if (pMaskPixmap->drawable.width > 2048 || - pMaskPixmap->drawable.height > 2048) { + if (pMaskPixmap->drawable.width > 2047 || + pMaskPixmap->drawable.height > 2047) { RADEON_FALLBACK(("Mask w/h too large (%d,%d).\n", pMaskPixmap->drawable.width, pMaskPixmap->drawable.height)); |