This sets up the blending equation in the following way: out = src * src_alpha + dst * (1 - src_alpha)
Signed-off-by: Tobias Jakobi <tjakobi at math.uni-bielefeld.de> --- exynos/exynos_fimg2d.c | 4 ++++ exynos/exynos_fimg2d.h | 1 + 2 files changed, 5 insertions(+) diff --git a/exynos/exynos_fimg2d.c b/exynos/exynos_fimg2d.c index 1b0bfdf..5829f14 100644 --- a/exynos/exynos_fimg2d.c +++ b/exynos/exynos_fimg2d.c @@ -84,6 +84,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/exynos_fimg2d.h b/exynos/exynos_fimg2d.h index 78cff47..79e6907 100644 --- a/exynos/exynos_fimg2d.h +++ b/exynos/exynos_fimg2d.h @@ -149,6 +149,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, -- 2.0.5