summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTilman Sauerbeck <tilman@code-monkey.de>2007-08-08 21:32:57 +0200
committerTilman Sauerbeck <tilman@code-monkey.de>2007-08-08 21:32:57 +0200
commit489e007a29de63716ab550eacb3e98a91975d1d5 (patch)
tree28828818aced75b8aad91ff047154c6abf429ba9
parent3820f55e3068163f8c3047a25126673e6de2d16e (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.c9
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);