exynos: fimg2d: introduce G2D_OP_INTERPOLATE
authorTobias Jakobi <tjakobi@math.uni-bielefeld.de>
Tue, 24 Feb 2015 15:29:38 +0000 (16:29 +0100)
committerEmil Velikov <emil.l.velikov@gmail.com>
Tue, 10 Mar 2015 19:23:49 +0000 (19:23 +0000)
This sets up the blending equation in the following way:
out = src * src_alpha + dst * (1 - src_alpha)

Signed-off-by: Tobias Jakobi <tjakobi@math.uni-bielefeld.de>
Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
Tested-by: Joonyoung Shim <jy0922.shim@samsung.com>
exynos/exynos_fimg2d.c
exynos/fimg2d.h

index 398a844..697ab16 100644 (file)
@@ -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,
index d98f7bc..c6d67ca 100644 (file)
@@ -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,