From: Frank Huang <[email protected]> *The PictOpOver operation is Src + (1-a) * Dest. So Change from CIMGP_ALPHA_A_PLUS_BETA_B to CIMGP_A_PLUS_BETA_B *Add one pass operation to do the Src * (alpha of Mask) if there is a mask
Signed-off-by: Frank Huang <[email protected]> --- src/lx_exa.c | 9 ++++----- 1 files changed, 4 insertions(+), 5 deletions(-) diff --git a/src/lx_exa.c b/src/lx_exa.c index cf80a42..223569f 100644 --- a/src/lx_exa.c +++ b/src/lx_exa.c @@ -409,13 +409,12 @@ struct blend_ops_t }, /* PictOpOver */ { - CIMGP_ALPHA_A_PLUS_BETA_B, CIMGP_CHANNEL_A_ALPHA, CIMGP_CHANNEL_A_SOURCE}, - { - }, + CIMGP_A_PLUS_BETA_B, CIMGP_CHANNEL_A_ALPHA, CIMGP_CHANNEL_A_SOURCE}, { + CIMGP_ALPHA_TIMES_A, CIMGP_CONVERTED_ALPHA, CIMGP_CHANNEL_A_SOURCE}, /* PictOpOverReverse */ { - CIMGP_ALPHA_A_PLUS_BETA_B, CIMGP_CHANNEL_A_ALPHA, CIMGP_CHANNEL_A_DEST}, { - }, + CIMGP_A_PLUS_BETA_B, CIMGP_CHANNEL_A_ALPHA, CIMGP_CHANNEL_A_DEST}, { + CIMGP_ALPHA_TIMES_A, CIMGP_CONVERTED_ALPHA, CIMGP_CHANNEL_A_DEST}, /* PictOpIn */ { CIMGP_ALPHA_TIMES_A, CIMGP_CHANNEL_B_ALPHA, CIMGP_CHANNEL_A_SOURCE}, { -- 1.7.1 _______________________________________________ Xorg-driver-geode mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-geode
