xf86-video-intel: src/i830_exa.c
Eric Anholt
anholt at kemper.freedesktop.org
Fri Dec 5 12:27:59 PST 2008
src/i830_exa.c | 6 ++++++
1 file changed, 6 insertions(+)
New commits:
commit 2e3c098c5ed9a8451713dc754a5f086992249336
Author: Eric Anholt <eric at anholt.net>
Date: Fri Dec 5 12:21:53 2008 -0800
uxa: Reject solid/copy to under-8bpp destinations.
EXA wouldn't create pixmaps for under-8bpp, but UXA does. Fixes
mis-rendering in xfwm, evolution message compose, firefox link
drag'n'drop, and I'm sure more. Big thanks to Pierre Willenbrock for
debugging the issue!
Bug #18050
diff --git a/src/i830_exa.c b/src/i830_exa.c
index 0be0614..3e3487e 100644
--- a/src/i830_exa.c
+++ b/src/i830_exa.c
@@ -185,6 +185,9 @@ I830EXAPrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
if (pPixmap->drawable.bitsPerPixel == 24)
I830FALLBACK("solid 24bpp unsupported!\n");
+ if (pPixmap->drawable.bitsPerPixel < 8)
+ I830FALLBACK("under 8bpp pixmaps unsupported\n");
+
i830_exa_check_pitch_2d(pPixmap);
pitch = i830_pixmap_pitch(pPixmap);
@@ -273,6 +276,9 @@ I830EXAPrepareCopy(PixmapPtr pSrcPixmap, PixmapPtr pDstPixmap, int xdir,
if (!EXA_PM_IS_SOLID(&pSrcPixmap->drawable, planemask))
I830FALLBACK("planemask is not solid");
+ if (pDstPixmap->drawable.bitsPerPixel < 8)
+ I830FALLBACK("under 8bpp pixmaps unsupported\n");
+
i830_exa_check_pitch_2d(pSrcPixmap);
i830_exa_check_pitch_2d(pDstPixmap);
More information about the xorg-commit
mailing list