Merge "hwc/overlay: If configRotator fails, mark all pipes as available."
diff --git a/libhwcomposer/hwc_fbupdate.cpp b/libhwcomposer/hwc_fbupdate.cpp
index 42d0741..893da72 100644
--- a/libhwcomposer/hwc_fbupdate.cpp
+++ b/libhwcomposer/hwc_fbupdate.cpp
@@ -139,7 +139,7 @@
displayFrame.right = dpos.w + displayFrame.left;
displayFrame.bottom = dpos.h + displayFrame.top;
}
- setMdpFlags(layer, mdpFlags, 0);
+ setMdpFlags(layer, mdpFlags, 0, transform);
// For External use rotator if there is a rotation value set
if(mDpy && (ctx->mExtOrientation & HWC_TRANSFORM_ROT_90)) {
mRot = ctx->mRotMgr->getNext();
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index ab48c8d..8b8411b 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -973,7 +973,7 @@
}
- setMdpFlags(layer, mdpFlagsL);
+ setMdpFlags(layer, mdpFlagsL, 0, transform);
trimLayer(ctx, dpy, transform, crop, dst);
if(isYuvBuffer(hnd) && (transform & HWC_TRANSFORM_ROT_90)) {
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index c65c09a..52ab2e1 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -154,7 +154,7 @@
//Sets appropriate mdp flags for a layer.
void setMdpFlags(hwc_layer_1_t *layer,
ovutils::eMdpFlags &mdpFlags,
- int rotDownscale = 0, int transform = 0);
+ int rotDownscale, int transform);
int configRotator(overlay::Rotator *rot, const ovutils::Whf& whf,
hwc_rect_t& crop, const ovutils::eMdpFlags& mdpFlags,
diff --git a/liboverlay/overlayMdssRot.cpp b/liboverlay/overlayMdssRot.cpp
index 6f2b564..30d7ccd 100644
--- a/liboverlay/overlayMdssRot.cpp
+++ b/liboverlay/overlayMdssRot.cpp
@@ -96,7 +96,7 @@
void MdssRot::setDownscale(int ds) {}
void MdssRot::setFlags(const utils::eMdpFlags& flags) {
- mRotInfo.flags |= flags;
+ mRotInfo.flags = flags;
}
void MdssRot::setTransform(const utils::eTransform& rot)
@@ -111,6 +111,7 @@
}
void MdssRot::doTransform() {
+ mRotInfo.flags |= mOrientation;
if(mOrientation & utils::OVERLAY_TRANSFORM_ROT_90)
utils::swap(mRotInfo.dst_rect.w, mRotInfo.dst_rect.h);
}