From 0d48697e7c10345f940b74de1cd476ec987058bb Mon Sep 17 00:00:00 2001 From: Tobias Jakobi Date: Tue, 24 Feb 2015 16:29:38 +0100 Subject: exynos: fimg2d: introduce G2D_OP_INTERPOLATE This sets up the blending equation in the following way: out = src * src_alpha + dst * (1 - src_alpha) Signed-off-by: Tobias Jakobi Reviewed-by: Emil Velikov Tested-by: Joonyoung Shim --- exynos/exynos_fimg2d.c | 4 ++++ exynos/fimg2d.h | 1 + 2 files changed, 5 insertions(+) diff --git a/exynos/exynos_fimg2d.c b/exynos/exynos_fimg2d.c index 398a8442..697ab16b 100644 --- a/exynos/exynos_fimg2d.c +++ b/exynos/exynos_fimg2d.c @@ -87,6 +87,10 @@ static unsigned int g2d_get_blend_op(enum e_g2d_op op) SET_BF(val, G2D_COEFF_MODE_ONE, 0, 0, 0, G2D_COEFF_MODE_SRC_ALPHA, 1, 0, 0); break; + case G2D_OP_INTERPOLATE: + SET_BF(val, G2D_COEFF_MODE_SRC_ALPHA, 0, 0, 0, + G2D_COEFF_MODE_SRC_ALPHA, 1, 0, 0); + break; default: fprintf(stderr, "Not support operation(%d).\n", op); SET_BF(val, G2D_COEFF_MODE_ONE, 0, 0, 0, G2D_COEFF_MODE_ZERO, diff --git a/exynos/fimg2d.h b/exynos/fimg2d.h index d98f7bc8..c6d67caf 100644 --- a/exynos/fimg2d.h +++ b/exynos/fimg2d.h @@ -142,6 +142,7 @@ enum e_g2d_op { G2D_OP_SRC = 0x01, G2D_OP_DST = 0x02, G2D_OP_OVER = 0x03, + G2D_OP_INTERPOLATE = 0x04, G2D_OP_DISJOINT_CLEAR = 0x10, G2D_OP_DISJOINT_SRC = 0x11, G2D_OP_DISJOINT_DST = 0x12, -- cgit v1.2.3