[Xorg-driver-geode] [PATCH 6/7] Fix the PictOpOver blend_ops_t struct

Huang, FrankR FrankR.Huang at amd.com
Thu Jun 10 00:04:56 PDT 2010


From: Frank Huang <frankr.huang at amd.com>

*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 <frankr.huang at amd.com>
---
 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




More information about the Xorg-driver-geode mailing list