mirror of
https://github.com/X11Libre/xserver.git
synced 2026-09-22 20:35:43 +00:00
Fix problems in render fb implementation found by rendercheck:
- fbCombineSaturate was pointed at fbCombineDisjointOver, instead of
fbCombineDisjointOverReverse as it should. Instead, point
fbCombineDisjointOverReverse at fbCombineSaturate (which is likely to
be faster).
- fix previously-unused fbCombineSaturate implementation.
- fbCombineMaskAlphaC was just a copy of fbCombineMaskValueC. Make it do
what it's supposed to (return a cs.alpha).
- fbCombineAtopC didn't invert the source alpha value.
- fix copy'n'paste errors in fbCombine(Dis/Con)jointGeneralC, also source
alpha wasn't treated in a component fashion.
- fbCompositeSrc_8888* didn't handle when the source lacks an alpha
channel. Rather than adding that and possilby slowing down the (normal)
alpha case, don't let x8r8g8b8/x8b8g8r8 Pictures be used in
fbCompositeSrc_8888* because Over with one of these is just Src.
This commit is contained in:
parent
a43d5412b4
commit
4078457919
3 changed files with 65 additions and 84 deletions
11
fb/fbpict.h
11
fb/fbpict.h
|
|
@ -333,15 +333,8 @@ fbCombineDisjointOverC (FbCompositeOperand *src,
|
|||
FbCompositeOperand *msk,
|
||||
FbCompositeOperand *dst);
|
||||
|
||||
void
|
||||
fbCombineDisjointOverReverseU (FbCompositeOperand *src,
|
||||
FbCompositeOperand *msk,
|
||||
FbCompositeOperand *dst);
|
||||
|
||||
void
|
||||
fbCombineDisjointOverReverseC (FbCompositeOperand *src,
|
||||
FbCompositeOperand *msk,
|
||||
FbCompositeOperand *dst);
|
||||
#define fbCombineDisjointOverReverseU fbCombineSaturateU
|
||||
#define fbCombineDisjointOverReverseC fbCombineSaturateC
|
||||
|
||||
void
|
||||
fbCombineDisjointInU (FbCompositeOperand *src,
|
||||
|
|
|
|||
Loading…
Reference in a new issue