summaryrefslogtreecommitdiff
path: root/src/i830_exa.c
diff options
context:
space:
mode:
authorWang Zhenyu <zhenyu.z.wang@intel.com>2006-05-18 11:24:46 +0800
committerWang Zhenyu <zhenyu.z.wang@intel.com>2006-05-18 11:24:46 +0800
commitfdb52a8c6da0f3d3f4cfbf1583b2dc4d91f7e933 (patch)
treed50fbf744c5ff723d7d813bf3dcb5d70b61bcf60 /src/i830_exa.c
parent011a1c99d49c1c69b5fa81ade6a2ed73e84276ae (diff)
Solid planemask in PrepareSolid/Copy might be 0xffffffff
or bits up to the depth. This should save some fallback case, noticed by Eric.
Diffstat (limited to 'src/i830_exa.c')
-rw-r--r--src/i830_exa.c4
1 files 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);