summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDave Airlie <airlied@redhat.com>2008-11-27 15:29:06 +1000
committerDave Airlie <airlied@redhat.com>2008-11-27 15:29:06 +1000
commit783cdb7374941bb1d2b63eea375fbf2f1b808cc3 (patch)
tree969d03ae3cf7fba89a91fbfa5a2de7ab3cc13875
parent2d7cfc421713286edd5121b56999246f9ae70286 (diff)
r100/r200: EXA misrenders dst == a8 + dst alpha use.
Fedora BZ#469556 I've played with various dst and texture formats and rewritten large parts of this to no avail, so I'm punting for now.
-rw-r--r--src/radeon_exa_render.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/radeon_exa_render.c b/src/radeon_exa_render.c
index 97199ae9..e5cc196f 100644
--- a/src/radeon_exa_render.c
+++ b/src/radeon_exa_render.c
@@ -533,6 +533,9 @@ static Bool FUNC_NAME(R100PrepareComposite)(int op,
if (!RADEONGetDestFormat(pDstPicture, &dst_format))
return FALSE;
+ if (pDstPicture->format == PICT_a8 && RadeonBlendOp[op].dst_alpha)
+ RADEON_FALLBACK("Can't dst alpha blend A8\n");
+
if (pMask)
info->accel_state->has_mask = TRUE;
else
@@ -833,6 +836,9 @@ static Bool FUNC_NAME(R200PrepareComposite)(int op, PicturePtr pSrcPicture,
if (!RADEONGetDestFormat(pDstPicture, &dst_format))
return FALSE;
+ if (pDstPicture->format == PICT_a8 && RadeonBlendOp[op].dst_alpha)
+ RADEON_FALLBACK("Can't dst alpha blend A8\n");
+
if (pMask)
info->accel_state->has_mask = TRUE;
else