hwc: Fix bugs with mixed mode MDP comp
Fix reseting on handles, they never were in most cases,
owing to wrong size.
Fix redrawing, which needs to be done also when the fb's zorder changes.
Fix mdpcount update which should happen before we assess the pipes
available versus the pipes needed.
Handle video only cases, where other UI layers could be present, but we
cannot use MDP comp for them.
Restructure MDP comp decision model and some redesign.
Change-Id: I86a2efb77edccbbb9e9d7701d06c5b2578a9d2aa
diff --git a/libhwcomposer/hwc_fbupdate.cpp b/libhwcomposer/hwc_fbupdate.cpp
index 9f91a99..bfa33ca 100644
--- a/libhwcomposer/hwc_fbupdate.cpp
+++ b/libhwcomposer/hwc_fbupdate.cpp
@@ -73,6 +73,8 @@
//Request an RGB pipe
ovutils::eDest dest = ov.nextPipe(ovutils::OV_MDP_PIPE_ANY, mDpy);
if(dest == ovutils::OV_INVALID) { //None available
+ ALOGE("%s: No pipes available to configure fb for dpy %d",
+ __FUNCTION__, mDpy);
return false;
}
@@ -171,11 +173,15 @@
//Request left RGB pipe
ovutils::eDest destL = ov.nextPipe(ovutils::OV_MDP_PIPE_RGB, mDpy);
if(destL == ovutils::OV_INVALID) { //None available
+ ALOGE("%s: No pipes available to configure fb for dpy %d's left"
+ " mixer", __FUNCTION__, mDpy);
return false;
}
//Request right RGB pipe
ovutils::eDest destR = ov.nextPipe(ovutils::OV_MDP_PIPE_RGB, mDpy);
if(destR == ovutils::OV_INVALID) { //None available
+ ALOGE("%s: No pipes available to configure fb for dpy %d's right"
+ " mixer", __FUNCTION__, mDpy);
return false;
}