[PATCH v3 16/17] exynos: fimg2d: introduce G2D_OP_INTERPOLATE
Tobias Jakobi
tjakobi at math.uni-bielefeld.de
Tue Feb 24 07:29:38 PST 2015
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 974ee64..669fd5c 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/exynos_fimg2d.h b/exynos/exynos_fimg2d.h
index 418757f..f76f2a9 100644
--- a/exynos/exynos_fimg2d.h
+++ b/exynos/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,
--
2.0.5
More information about the dri-devel
mailing list