summaryrefslogtreecommitdiff
path: root/libcopybit
diff options
context:
space:
mode:
authorTerence Hampson <thampson@codeaurora.org>2013-12-30 17:18:33 -0500
committerTerence Hampson <thampson@codeaurora.org>2013-12-30 17:21:20 -0500
commitffbcf4321a42cc713f033c1e3ed97ba6d0c2ec71 (patch)
treec98b9af9fada33328ed69e7077cca09c99668964 /libcopybit
parent8dad692bcb6e2e6b2ad88e4c16b0f7ec0f93b96e (diff)
downloaddisplay-ffbcf4321a42cc713f033c1e3ed97ba6d0c2ec71.tar.gz
copybit: pass acquire fd when calling clear
Tearing was seen when mdp was performing clear on fb because acquire fence was not being passed in. Change-Id: Iea5bcc50efc783497c770779faae59f933252551
Diffstat (limited to 'libcopybit')
-rw-r--r--libcopybit/copybit.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libcopybit/copybit.cpp b/libcopybit/copybit.cpp
index 9558f692..c0246e3f 100644
--- a/libcopybit/copybit.cpp
+++ b/libcopybit/copybit.cpp
@@ -573,7 +573,9 @@ static int clear_copybit(struct copybit_device_t *dev,
int rel_fen_fd = -1;
int my_tmp_get_fence = -1;
+ list1.sync.acq_fen_fd = ctx->acqFence;
list1.sync.rel_fen_fd = &my_tmp_get_fence;
+ list1.sync.acq_fen_fd_cnt = ctx->list.sync.acq_fen_fd_cnt;
mdp_blit_req* req = &list1.req[0];
if(!req) {
@@ -607,6 +609,7 @@ static int clear_copybit(struct copybit_device_t *dev,
req->flags = MDP_SOLID_FILL | MDP_MEMORY_ID_TYPE_FB | MDP_BLEND_FG_PREMULT;
int status = msm_copybit(ctx, &list1);
+ ctx->list.sync.acq_fen_fd_cnt = 0;
if (my_tmp_get_fence != -1)
close(my_tmp_get_fence);