diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2009-11-05 10:23:03 -0500 |
---|---|---|
committer | Alex Deucher <alexdeucher@gmail.com> | 2009-11-05 10:23:03 -0500 |
commit | 87d7235790866f9c19ef08972d5237f09d940cd9 (patch) | |
tree | f7f1f4306605ab290a3ffb5590b9e88394902724 /src/r600_exa.c | |
parent | 873897c54429e230a23011a9dd2f1069f4eb7752 (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.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/r600_exa.c b/src/r600_exa.c index a2ce5c9f..7d8cf468 100644 --- a/src/r600_exa.c +++ b/src/r600_exa.c @@ -1603,7 +1603,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) { |