Merge "Call overlay_set even if there are no change in params"
diff --git a/libcopybit/copybit.cpp b/libcopybit/copybit.cpp
index 9558f69..c0246e3 100644
--- a/libcopybit/copybit.cpp
+++ b/libcopybit/copybit.cpp
@@ -573,7 +573,9 @@
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 @@
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);
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 8048d71..0b4cbe0 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -836,7 +836,8 @@
bool MDPComp::isLoadBasedCompDoable(hwc_context_t *ctx,
hwc_display_contents_1_t* list) {
- if(mDpy or isSecurePresent(ctx, mDpy)) {
+ if(mDpy or isSecurePresent(ctx, mDpy) or
+ isYuvPresent(ctx, mDpy)) {
return false;
}
return true;
diff --git a/libhwcomposer/hwc_uevents.cpp b/libhwcomposer/hwc_uevents.cpp
index 10afc92..51e5526 100644
--- a/libhwcomposer/hwc_uevents.cpp
+++ b/libhwcomposer/hwc_uevents.cpp
@@ -121,6 +121,7 @@
{
bool bpanelReset = getPanelResetStatus(ctx, udata, len);
if (bpanelReset) {
+ ctx->proc->invalidate(ctx->proc);
return;
}
diff --git a/libqdutils/cb_utils.cpp b/libqdutils/cb_utils.cpp
index d8eec2a..bc7e5b1 100644
--- a/libqdutils/cb_utils.cpp
+++ b/libqdutils/cb_utils.cpp
@@ -49,10 +49,6 @@
Region wormholeRegion(fbFrameRect);
for (uint32_t i = 0 ; i < last; i++) {
- //TODO Work on using hwc clear instead of gpu for HWC_BLIT
- //If layer is marked for HWC_BLIT clear is done by GPU
- if(list->hwLayers[i].compositionType == HWC_BLIT)
- return 0;
// need to take care only in per pixel blending.
// Restrict calculation only for copybit layers.
if((list->hwLayers[i].blending != HWC_BLENDING_NONE) ||