hwc\overlay: Remove support for foreground override
Remove support for overriding a layer's z to set it up for foreground.
This is unused and can be achieved using pipes staged at required
z-orders.
Change-Id: Ia4688beed770c44c20d201a2dc5687252e002981
diff --git a/libhwcomposer/hwc_ad.cpp b/libhwcomposer/hwc_ad.cpp
index a26f659..cf52a11 100644
--- a/libhwcomposer/hwc_ad.cpp
+++ b/libhwcomposer/hwc_ad.cpp
@@ -210,7 +210,7 @@
ovutils::OV_MDP_SECURE_OVERLAY_SESSION);
}
- PipeArgs parg(mdpFlags, whf, ZORDER_0, IS_FG_OFF,
+ PipeArgs parg(mdpFlags, whf, ZORDER_0,
ROT_FLAGS_NONE);
hwc_rect_t dst = crop; //input same as output
diff --git a/libhwcomposer/hwc_fbupdate.cpp b/libhwcomposer/hwc_fbupdate.cpp
index 5014af9..1604ffb 100644
--- a/libhwcomposer/hwc_fbupdate.cpp
+++ b/libhwcomposer/hwc_fbupdate.cpp
@@ -165,7 +165,6 @@
}
ovutils::eMdpFlags mdpFlags = ovutils::OV_MDP_BLEND_FG_PREMULT;
- ovutils::eIsFg isFg = ovutils::IS_FG_OFF;
ovutils::eZorder zOrder = static_cast<ovutils::eZorder>(fbZorder);
hwc_rect_t sourceCrop = integerizeSourceCrop(layer->sourceCropf);
@@ -218,7 +217,7 @@
//For the mdp, since either we are pre-rotating or MDP does flips
orient = ovutils::OVERLAY_TRANSFORM_0;
transform = 0;
- ovutils::PipeArgs parg(mdpFlags, info, zOrder, isFg,
+ ovutils::PipeArgs parg(mdpFlags, info, zOrder,
static_cast<ovutils::eRotFlags>(rotFlags),
ovutils::DEFAULT_PLANE_ALPHA,
(ovutils::eBlending)
@@ -333,7 +332,6 @@
ovutils::PipeArgs pargL(mdpFlags,
info,
zOrder,
- ovutils::IS_FG_OFF,
ovutils::ROT_FLAGS_NONE,
ovutils::DEFAULT_PLANE_ALPHA,
(ovutils::eBlending)
@@ -369,7 +367,6 @@
ovutils::PipeArgs pargR(mdpFlagsR,
info,
zOrder,
- ovutils::IS_FG_OFF,
ovutils::ROT_FLAGS_NONE,
ovutils::DEFAULT_PLANE_ALPHA,
(ovutils::eBlending)
@@ -444,7 +441,6 @@
ovutils::PipeArgs parg(mdpFlags,
info,
zOrder,
- ovutils::IS_FG_OFF,
ovutils::ROT_FLAGS_NONE,
ovutils::DEFAULT_PLANE_ALPHA,
(ovutils::eBlending)
diff --git a/libhwcomposer/hwc_mdpcomp.cpp b/libhwcomposer/hwc_mdpcomp.cpp
index 6084d8d..f012a25 100644
--- a/libhwcomposer/hwc_mdpcomp.cpp
+++ b/libhwcomposer/hwc_mdpcomp.cpp
@@ -1822,13 +1822,12 @@
*(static_cast<MdpPipeInfoNonSplit*>(PipeLayerPair.pipeInfo));
eMdpFlags mdpFlags = OV_MDP_BACKEND_COMPOSITION;
eZorder zOrder = static_cast<eZorder>(mdp_info.zOrder);
- eIsFg isFg = IS_FG_OFF;
eDest dest = mdp_info.index;
ALOGD_IF(isDebug(),"%s: configuring: layer: %p z_order: %d dest_pipe: %d",
__FUNCTION__, layer, zOrder, dest);
- return configureNonSplit(ctx, layer, mDpy, mdpFlags, zOrder, isFg, dest,
+ return configureNonSplit(ctx, layer, mDpy, mdpFlags, zOrder, dest,
&PipeLayerPair.rot);
}
@@ -1877,12 +1876,11 @@
MdpYUVPipeInfo& mdp_info =
*(static_cast<MdpYUVPipeInfo*>(PipeLayerPair.pipeInfo));
eZorder zOrder = static_cast<eZorder>(mdp_info.zOrder);
- eIsFg isFg = IS_FG_OFF;
eMdpFlags mdpFlagsL = OV_MDP_BACKEND_COMPOSITION;
eDest lDest = mdp_info.lIndex;
eDest rDest = mdp_info.rIndex;
- return configureSourceSplit(ctx, layer, mDpy, mdpFlagsL, zOrder, isFg,
+ return configureSourceSplit(ctx, layer, mDpy, mdpFlagsL, zOrder,
lDest, rDest, &PipeLayerPair.rot);
}
@@ -2110,12 +2108,11 @@
MdpYUVPipeInfo& mdp_info =
*(static_cast<MdpYUVPipeInfo*>(PipeLayerPair.pipeInfo));
eZorder zOrder = static_cast<eZorder>(mdp_info.zOrder);
- eIsFg isFg = IS_FG_OFF;
eMdpFlags mdpFlagsL = OV_MDP_BACKEND_COMPOSITION;
eDest lDest = mdp_info.lIndex;
eDest rDest = mdp_info.rIndex;
- return configureSourceSplit(ctx, layer, mDpy, mdpFlagsL, zOrder, isFg,
+ return configureSourceSplit(ctx, layer, mDpy, mdpFlagsL, zOrder,
lDest, rDest, &PipeLayerPair.rot);
}
else{
@@ -2131,7 +2128,6 @@
MdpPipeInfoSplit& mdp_info =
*(static_cast<MdpPipeInfoSplit*>(PipeLayerPair.pipeInfo));
eZorder zOrder = static_cast<eZorder>(mdp_info.zOrder);
- eIsFg isFg = IS_FG_OFF;
eMdpFlags mdpFlagsL = OV_MDP_BACKEND_COMPOSITION;
eDest lDest = mdp_info.lIndex;
eDest rDest = mdp_info.rIndex;
@@ -2139,7 +2135,7 @@
ALOGD_IF(isDebug(),"%s: configuring: layer: %p z_order: %d dest_pipeL: %d"
"dest_pipeR: %d",__FUNCTION__, layer, zOrder, lDest, rDest);
- return configureSplit(ctx, layer, mDpy, mdpFlagsL, zOrder, isFg, lDest,
+ return configureSplit(ctx, layer, mDpy, mdpFlagsL, zOrder, lDest,
rDest, &PipeLayerPair.rot);
}
@@ -2349,7 +2345,6 @@
*(static_cast<MdpPipeInfoSplit*>(PipeLayerPair.pipeInfo));
Rotator **rot = &PipeLayerPair.rot;
eZorder z = static_cast<eZorder>(mdp_info.zOrder);
- eIsFg isFg = IS_FG_OFF;
eDest lDest = mdp_info.lIndex;
eDest rDest = mdp_info.rIndex;
hwc_rect_t crop = integerizeSourceCrop(layer->sourceCropf);
@@ -2424,7 +2419,7 @@
//configure left pipe
if(lDest != OV_INVALID) {
- PipeArgs pargL(mdpFlags, whf, z, isFg,
+ PipeArgs pargL(mdpFlags, whf, z,
static_cast<eRotFlags>(rotFlags), layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -2437,7 +2432,7 @@
//configure right pipe
if(rDest != OV_INVALID) {
- PipeArgs pargR(mdpFlags, whf, z, isFg,
+ PipeArgs pargR(mdpFlags, whf, z,
static_cast<eRotFlags>(rotFlags),
layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index f3243fc..f85f589 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -1574,7 +1574,7 @@
int configColorLayer(hwc_context_t *ctx, hwc_layer_1_t *layer,
const int& dpy, eMdpFlags& mdpFlags, eZorder& z,
- eIsFg& isFg, const eDest& dest) {
+ const eDest& dest) {
hwc_rect_t dst = layer->displayFrame;
trimLayer(ctx, dpy, 0, dst, dst);
@@ -1590,7 +1590,7 @@
if (layer->blending == HWC_BLENDING_PREMULT)
ovutils::setMdpFlags(mdpFlags, ovutils::OV_MDP_BLEND_FG_PREMULT);
- PipeArgs parg(mdpFlags, whf, z, isFg, static_cast<eRotFlags>(0),
+ PipeArgs parg(mdpFlags, whf, z, static_cast<eRotFlags>(0),
layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -1676,14 +1676,14 @@
int configureNonSplit(hwc_context_t *ctx, hwc_layer_1_t *layer,
const int& dpy, eMdpFlags& mdpFlags, eZorder& z,
- eIsFg& isFg, const eDest& dest, Rotator **rot) {
+ const eDest& dest, Rotator **rot) {
private_handle_t *hnd = (private_handle_t *)layer->handle;
if(!hnd) {
if (layer->flags & HWC_COLOR_FILL) {
// Configure Color layer
- return configColorLayer(ctx, layer, dpy, mdpFlags, z, isFg, dest);
+ return configColorLayer(ctx, layer, dpy, mdpFlags, z, dest);
}
ALOGE("%s: layer handle is NULL", __FUNCTION__);
return -1;
@@ -1731,7 +1731,7 @@
//For the mdp, since either we are pre-rotating or MDP does flips
orient = OVERLAY_TRANSFORM_0;
transform = 0;
- PipeArgs parg(mdpFlags, whf, z, isFg,
+ PipeArgs parg(mdpFlags, whf, z,
static_cast<eRotFlags>(rotFlags), layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -1773,7 +1773,7 @@
int configureSplit(hwc_context_t *ctx, hwc_layer_1_t *layer,
const int& dpy, eMdpFlags& mdpFlagsL, eZorder& z,
- eIsFg& isFg, const eDest& lDest, const eDest& rDest,
+ const eDest& lDest, const eDest& rDest,
Rotator **rot) {
private_handle_t *hnd = (private_handle_t *)layer->handle;
if(!hnd) {
@@ -1887,7 +1887,7 @@
//configure left mixer
if(lDest != OV_INVALID) {
- PipeArgs pargL(mdpFlagsL, whf, z, isFg,
+ PipeArgs pargL(mdpFlagsL, whf, z,
static_cast<eRotFlags>(rotFlags), layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -1900,7 +1900,7 @@
//configure right mixer
if(rDest != OV_INVALID) {
- PipeArgs pargR(mdpFlagsR, whf, z, isFg,
+ PipeArgs pargR(mdpFlagsR, whf, z,
static_cast<eRotFlags>(rotFlags),
layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -1918,7 +1918,7 @@
int configureSourceSplit(hwc_context_t *ctx, hwc_layer_1_t *layer,
const int& dpy, eMdpFlags& mdpFlagsL, eZorder& z,
- eIsFg& isFg, const eDest& lDest, const eDest& rDest,
+ const eDest& lDest, const eDest& rDest,
Rotator **rot) {
private_handle_t *hnd = (private_handle_t *)layer->handle;
if(!hnd) {
@@ -2013,7 +2013,7 @@
//configure left half
if(lDest != OV_INVALID) {
- PipeArgs pargL(mdpFlagsL, whf, lz, isFg,
+ PipeArgs pargL(mdpFlagsL, whf, lz,
static_cast<eRotFlags>(rotFlags), layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
@@ -2026,7 +2026,7 @@
//configure right half
if(rDest != OV_INVALID) {
- PipeArgs pargR(mdpFlagsR, whf, rz, isFg,
+ PipeArgs pargR(mdpFlagsR, whf, rz,
static_cast<eRotFlags>(rotFlags),
layer->planeAlpha,
(ovutils::eBlending) getBlending(layer->blending));
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index ad71919..587bda1 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -352,7 +352,7 @@
int configColorLayer(hwc_context_t *ctx, hwc_layer_1_t *layer, const int& dpy,
ovutils::eMdpFlags& mdpFlags, ovutils::eZorder& z,
- ovutils::eIsFg& isFg, const ovutils::eDest& dest);
+ const ovutils::eDest& dest);
void updateSource(ovutils::eTransform& orient, ovutils::Whf& whf,
hwc_rect_t& crop, overlay::Rotator *rot);
@@ -360,20 +360,20 @@
//Routine to configure low resolution panels (<= 2048 width)
int configureNonSplit(hwc_context_t *ctx, hwc_layer_1_t *layer, const int& dpy,
ovutils::eMdpFlags& mdpFlags, ovutils::eZorder& z,
- ovutils::eIsFg& isFg, const ovutils::eDest& dest,
+ const ovutils::eDest& dest,
overlay::Rotator **rot);
//Routine to configure high resolution panels (> 2048 width)
int configureSplit(hwc_context_t *ctx, hwc_layer_1_t *layer, const int& dpy,
ovutils::eMdpFlags& mdpFlags, ovutils::eZorder& z,
- ovutils::eIsFg& isFg, const ovutils::eDest& lDest,
+ const ovutils::eDest& lDest,
const ovutils::eDest& rDest, overlay::Rotator **rot);
//Routine to split and configure high resolution YUV layer (> 2048 width)
int configureSourceSplit(hwc_context_t *ctx, hwc_layer_1_t *layer,
const int& dpy,
ovutils::eMdpFlags& mdpFlags, ovutils::eZorder& z,
- ovutils::eIsFg& isFg, const ovutils::eDest& lDest,
+ const ovutils::eDest& lDest,
const ovutils::eDest& rDest, overlay::Rotator **rot);
//On certain targets DMA pipes are used for rotation and they won't be available
diff --git a/liboverlay/mdpWrapper.h b/liboverlay/mdpWrapper.h
index e24ad6a..9c38cdb 100644
--- a/liboverlay/mdpWrapper.h
+++ b/liboverlay/mdpWrapper.h
@@ -299,8 +299,8 @@
s, ov.offset, ov.memory_id, ov.id, ov.flags, ov.priv);
}
inline void dump(const char* const s, const mdp_overlay& ov) {
- ALOGE("%s mdp_overlay z=%d fg=%d alpha=%d mask=%d flags=0x%x id=%d",
- s, ov.z_order, ov.is_fg, ov.alpha,
+ ALOGE("%s mdp_overlay z=%d alpha=%d mask=%d flags=0x%x id=%d",
+ s, ov.z_order, ov.alpha,
ov.transp_mask, ov.flags, ov.id);
dump("src", ov.src);
dump("src_rect", ov.src_rect);
diff --git a/liboverlay/overlayMdp.cpp b/liboverlay/overlayMdp.cpp
index 7f9f136..ddc40ee 100644
--- a/liboverlay/overlayMdp.cpp
+++ b/liboverlay/overlayMdp.cpp
@@ -96,7 +96,6 @@
//TODO These calls should ideally be a part of setPipeParams API
setFlags(args.mdpFlags);
setZ(args.zorder);
- setIsFg(args.isFg);
setPlaneAlpha(args.planeAlpha);
setBlending(args.blending);
}
diff --git a/liboverlay/overlayMdp.h b/liboverlay/overlayMdp.h
index cb8e057..d415b9d 100644
--- a/liboverlay/overlayMdp.h
+++ b/liboverlay/overlayMdp.h
@@ -99,8 +99,6 @@
void setFlags(int f);
/* set z order */
void setZ(utils::eZorder z);
- /* set isFg flag */
- void setIsFg(utils::eIsFg isFg);
/* return a copy of src whf*/
utils::Whf getSrcWhf() const;
/* set plane alpha */
@@ -204,10 +202,6 @@
mOVInfo.z_order = z;
}
-inline void MdpCtrl::setIsFg(overlay::utils::eIsFg isFg) {
- mOVInfo.is_fg = isFg;
-}
-
inline void MdpCtrl::setPlaneAlpha(int planeAlpha) {
mOVInfo.alpha = planeAlpha;
}
diff --git a/liboverlay/overlayUtils.cpp b/liboverlay/overlayUtils.cpp
index 86e9349..f9ee326 100644
--- a/liboverlay/overlayUtils.cpp
+++ b/liboverlay/overlayUtils.cpp
@@ -309,9 +309,9 @@
const mdp_overlay& ov) {
char str[256] = {'\0'};
snprintf(str, 256,
- "%s id=%d z=%d fg=%d alpha=%d mask=%d flags=0x%x H.Deci=%d,"
+ "%s id=%d z=%d alpha=%d mask=%d flags=0x%x H.Deci=%d,"
"V.Deci=%d\n",
- prefix, ov.id, ov.z_order, ov.is_fg, ov.alpha,
+ prefix, ov.id, ov.z_order, ov.alpha,
ov.transp_mask, ov.flags, ov.horz_deci, ov.vert_deci);
strlcat(buf, str, len);
getDump(buf, len, "\tsrc", ov.src);
diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h
index 4a989f6..2b8e303 100644
--- a/liboverlay/overlayUtils.h
+++ b/liboverlay/overlayUtils.h
@@ -210,15 +210,6 @@
ROT_DS_EIGHTH = 3,
};
-/* The values for is_fg flag for control alpha and transp
- * IS_FG_OFF means is_fg = 0
- * IS_FG_SET means is_fg = 1
- */
-enum eIsFg {
- IS_FG_OFF = 0,
- IS_FG_SET = 1
-};
-
/*
* Various mdp flags like PIPE SHARE, DEINTERLACE etc...
* kernel/common/linux/msm_mdp.h
@@ -321,19 +312,17 @@
struct PipeArgs {
PipeArgs() : mdpFlags(OV_MDP_FLAGS_NONE),
zorder(Z_SYSTEM_ALLOC),
- isFg(IS_FG_OFF),
rotFlags(ROT_FLAGS_NONE),
planeAlpha(DEFAULT_PLANE_ALPHA),
blending(OVERLAY_BLENDING_COVERAGE){
}
PipeArgs(eMdpFlags f, Whf _whf,
- eZorder z, eIsFg fg, eRotFlags r,
+ eZorder z, eRotFlags r,
int pA = DEFAULT_PLANE_ALPHA, eBlending b = OVERLAY_BLENDING_COVERAGE) :
mdpFlags(f),
whf(_whf),
zorder(z),
- isFg(fg),
rotFlags(r),
planeAlpha(pA),
blending(b){
@@ -342,7 +331,6 @@
eMdpFlags mdpFlags; // for mdp_overlay flags
Whf whf;
eZorder zorder; // stage number
- eIsFg isFg; // control alpha & transp
eRotFlags rotFlags;
int planeAlpha;
eBlending blending;