hwc: 8x26: Composition policy when WFD connected
When WFD is connected to 8x26
1) On Video transition, have 1 padding round if external connected.
Required to shift pipes across mixers.
2) Request DMA pipe always for FB on WFD.
Necessary for rotation + writeback
3) Disable non-worm-hole calcs on external (because of 2)
4) Disable action-safe calcs on external (because of 2)
Change-Id: I63b50b2477db443f9ea1d3fa610b59295c9359b7
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index e8641ff..4737b25 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -368,7 +368,8 @@
void setListStats(hwc_context_t *ctx,
const hwc_display_contents_1_t *list, int dpy) {
-
+ const int prevYuvCount = ctx->listStats[dpy].yuvCount;
+ memset(&ctx->listStats[dpy], 0, sizeof(ListStats));
ctx->listStats[dpy].numAppLayers = list->numHwLayers - 1;
ctx->listStats[dpy].fbLayerIndex = list->numHwLayers - 1;
ctx->listStats[dpy].skipCount = 0;
@@ -457,6 +458,12 @@
Overlay::setDMAMode(Overlay::DMA_BLOCK_MODE);
}
}
+
+ //The marking of video begin/end is useful on some targets where we need
+ //to have a padding round to be able to shift pipes across mixers.
+ if(prevYuvCount != ctx->listStats[dpy].yuvCount) {
+ ctx->mVideoTransFlag = true;
+ }
}