diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp index 16836f4..3c4bd1a 100644 --- a/libhwcomposer/hwc_mdpcomp.cpp +++ b/libhwcomposer/hwc_mdpcomp.cpp @@ -297,7 +297,9 @@ int MDPComp::prepare(hwc_context_t *ctx, hwc_layer_t *layer, ovutils::eIsFg isFG = mdp_info.isFG ? ovutils::IS_FG_SET : ovutils::IS_FG_OFF; ovutils::setMdpFlags(mdpFlags, ovutils::OV_MDP_BACKEND_COMPOSITION); - + if (layer->blending == HWC_BLENDING_PREMULT) { + ovutils::setMdpFlags(mdpFlags, ovutils::OV_MDP_BLEND_FG_PREMULT); + } ovutils::PipeArgs parg(mdpFlags, info, zOrder, diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h index a88c0d9..444c3cd 100644 --- a/liboverlay/overlayUtils.h +++ b/liboverlay/overlayUtils.h @@ -294,6 +294,7 @@ enum eMdpFlags { OV_MDP_SOURCE_ROTATED_90 = MDP_SOURCE_ROTATED_90, OV_MDP_MEMORY_ID_TYPE_FB = MDP_MEMORY_ID_TYPE_FB, OV_MDP_BACKEND_COMPOSITION = MDP_BACKEND_COMPOSITION, + OV_MDP_BLEND_FG_PREMULT = MDP_BLEND_FG_PREMULT, }; enum eZorder {