From fdb52a8c6da0f3d3f4cfbf1583b2dc4d91f7e933 Mon Sep 17 00:00:00 2001 From: Wang Zhenyu Date: Thu, 18 May 2006 11:24:46 +0800 Subject: [PATCH] Solid planemask in PrepareSolid/Copy might be 0xffffffff or bits up to the depth. This should save some fallback case, noticed by Eric. --- src/i830_exa.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/i830_exa.c b/src/i830_exa.c index 6acc00cc..6726a0e8 100644 --- a/src/i830_exa.c +++ b/src/i830_exa.c @@ -134,7 +134,7 @@ I830EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg) ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - if (planemask != (Pixel)~0) + if (planemask != (Pixel)~0 && !EXA_PM_IS_SOLID(pPixmap, planemask)) return FALSE; pI830->BR[13] = exaGetPixmapPitch(pPixmap); @@ -209,7 +209,7 @@ I830EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir, ScrnInfoPtr pScrn = xf86Screens[pDstPixmap->drawable.pScreen->myNum]; I830Ptr pI830 = I830PTR(pScrn); - if (planemask != (Pixel)~0) + if (planemask != (Pixel)~0 && !EXA_PM_IS_SOLID(pScrPixmap, planemask)) return FALSE; pI830->copy_src_pitch = exaGetPixmapPitch(pSrcPixmap);