video/rockchip: rga2: Add src/dst/dst_over blend modes.

Signed-off-by: Yu Qiaowei <cerf.yu@rock-chips.com>
Change-Id: If6d46c7e3c9883b7be16ace4e8fd36ab61a7ca67
This commit is contained in:
Yu Qiaowei
2020-09-25 10:26:39 +08:00
committed by Tao Huang
parent 0e98f42cbb
commit 2c3c5733d2

View File

@@ -1138,8 +1138,12 @@ void RGA_MSG_2_RGA2_MSG(struct rga_req *req_rga, struct rga2_req *req)
case 0: //dst = 0
break;
case 1: //dst = src
req->alpha_mode_0 = 0x0A1A;
req->alpha_mode_1 = 0x0A1A;
break;
case 2: //dst = dst
req->alpha_mode_0 = 0x1A0A;
req->alpha_mode_1 = 0x1A0A;
break;
case 3: //dst = (256*sc + (256 - sa)*dc) >> 8
if((req_rga->alpha_rop_mode & 3) == 0) {
@@ -1162,6 +1166,8 @@ void RGA_MSG_2_RGA2_MSG(struct rga_req *req_rga, struct rga2_req *req)
req->alpha_mode_1 = alpha_mode_1;
break;
case 4: //dst = (sc*(256-da) + 256*dc) >> 8
req->alpha_mode_0 = 0x1232;
req->alpha_mode_1 = 0x1232;
break;
case 5: //dst = (da*sc) >> 8
break;
@@ -1348,8 +1354,12 @@ void RGA_MSG_2_RGA2_MSG_32(struct rga_req_32 *req_rga, struct rga2_req *req)
case 0: //dst = 0
break;
case 1: //dst = src
req->alpha_mode_0 = 0x0A1A;
req->alpha_mode_1 = 0x0A1A;
break;
case 2: //dst = dst
req->alpha_mode_0 = 0x1A0A;
req->alpha_mode_1 = 0x1A0A;
break;
case 3: //dst = (256*sc + (256 - sa)*dc) >> 8
if((req_rga->alpha_rop_mode & 3) == 0) {
@@ -1372,6 +1382,8 @@ void RGA_MSG_2_RGA2_MSG_32(struct rga_req_32 *req_rga, struct rga2_req *req)
req->alpha_mode_1 = alpha_mode_1;
break;
case 4: //dst = (sc*(256-da) + 256*dc) >> 8
req->alpha_mode_0 = 0x1232;
req->alpha_mode_1 = 0x1232;
break;
case 5: //dst = (da*sc) >> 8
break;