Solid planemask in PrepareSolid/Copy might be 0xffffffff

or bits up to the depth. This should save some fallback
case, noticed by Eric.
This commit is contained in:
Wang Zhenyu 2006-05-18 11:24:46 +08:00
parent 011a1c99d4
commit fdb52a8c6d
1 changed files with 2 additions and 2 deletions

View File

@ -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);