diff options
author | Tilman Sauerbeck <tilman@code-monkey.de> | 2007-08-08 21:32:57 +0200 |
---|---|---|
committer | Tilman Sauerbeck <tilman@code-monkey.de> | 2007-08-08 21:32:57 +0200 |
commit | 489e007a29de63716ab550eacb3e98a91975d1d5 (patch) | |
tree | 28828818aced75b8aad91ff047154c6abf429ba9 | |
parent | 3820f55e3068163f8c3047a25126673e6de2d16e (diff) |
Fixed major blending and compositing breakage.
Do not adjust the destination blend factor if we need source alpha
but our source doesn't have an alpha channel. This makes no sense at all,
because the intermediate picture will always have alpha bits (either from
the original source, or forced to 0xff).
-rw-r--r-- | src/mga_exa.c | 9 |
1 files changed, 0 insertions, 9 deletions
diff --git a/src/mga_exa.c b/src/mga_exa.c index c39af50..bfb78e7 100644 --- a/src/mga_exa.c +++ b/src/mga_exa.c @@ -585,15 +585,6 @@ mgaPrepareComposite(int op, PicturePtr pSrcPict, PicturePtr pMaskPict, blendcntl = (blendcntl & ~MGA_SRC_BLEND_MASK) | MGA_SRC_ZERO; } - if (!PICT_FORMAT_A(pSrcPict->format) && mgaBlendOp[op].src_alpha) { - int dblend = blendcntl & MGA_DST_BLEND_MASK; - - if (dblend == MGA_DST_SRC_ALPHA) - blendcntl = (blendcntl & ~MGA_DST_BLEND_MASK) | MGA_DST_ONE; - else if (dblend == MGA_DST_ONE_MINUS_SRC_ALPHA) - blendcntl = (blendcntl & ~MGA_DST_BLEND_MASK) | MGA_DST_ZERO; - } - WAITFIFO(5); OUTREG(MGAREG_FCOL, fcol); OUTREG(MGAREG_TDUALSTAGE0, ds0); |