summaryrefslogtreecommitdiff
path: root/src/r600_exa.c
diff options
context:
space:
mode:
authorAlex Deucher <alexdeucher@gmail.com>2009-11-05 10:23:03 -0500
committerAlex Deucher <alexdeucher@gmail.com>2009-11-05 10:44:14 -0500
commiteab41805c0e6cc6deb7eca9342457b690834d7d2 (patch)
treea1bb63e4d194dc22485c619baf63f44c88b6b50f /src/r600_exa.c
parentca9c619c9c085fac3bea486cfce1c8b5ba09cd52 (diff)
EXA: fallback if no pMaskPicture->pDrawable
A solid or gradient mask could be used for blending the source picture onto the destination picture. Fixes fdo bug 24838 Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Diffstat (limited to 'src/r600_exa.c')
-rw-r--r--src/r600_exa.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/r600_exa.c b/src/r600_exa.c
index bee8f09c..9aeb8626 100644
--- a/src/r600_exa.c
+++ b/src/r600_exa.c
@@ -1337,7 +1337,12 @@ static Bool R600CheckComposite(int op, PicturePtr pSrcPicture, PicturePtr pMaskP
}
if (pMaskPicture) {
- PixmapPtr pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable);
+ PixmapPtr pMaskPixmap;
+
+ if (!pMaskPicture->pDrawable)
+ RADEON_FALLBACK(("Solid or gradient pictures not supported yet\n"));
+
+ pMaskPixmap = RADEONGetDrawablePixmap(pMaskPicture->pDrawable);
if (pMaskPixmap->drawable.width >= max_tex_w ||
pMaskPixmap->drawable.height >= max_tex_h) {