hwc: Add msm8x09 version checks in HAL.
Add version checks for msm8x09 in hwc,copybit
and overlay.
Change-Id: Ia8b00f0ccd5f0495ab120b4c3e188caa5dbfa79c
diff --git a/libhwcomposer/hwc_copybit.cpp b/libhwcomposer/hwc_copybit.cpp
index 8164fd3..582b102 100644
--- a/libhwcomposer/hwc_copybit.cpp
+++ b/libhwcomposer/hwc_copybit.cpp
@@ -349,7 +349,8 @@
}
//Allocate render buffers if they're not allocated
- if (ctx->mMDP.version != qdutils::MDP_V3_0_4 &&
+ if ((ctx->mMDP.version != qdutils::MDP_V3_0_4 &&
+ ctx->mMDP.version != qdutils::MDP_V3_0_5) &&
(useCopybitForYUV || useCopybitForRGB)) {
int ret = allocRenderBuffers(mAlignedWidth,
mAlignedHeight,
@@ -375,7 +376,8 @@
for (int i = ctx->listStats[dpy].numAppLayers-1; i >= 0 ; i--) {
layerProp[i].mFlags |= HWC_COPYBIT;
#ifdef QCOM_BSP
- if (ctx->mMDP.version == qdutils::MDP_V3_0_4)
+ if (ctx->mMDP.version == qdutils::MDP_V3_0_4 ||
+ ctx->mMDP.version == qdutils::MDP_V3_0_5)
list->hwLayers[i].compositionType = HWC_BLIT;
else
#endif
@@ -496,7 +498,8 @@
return true;
}
//render buffer
- if (ctx->mMDP.version == qdutils::MDP_V3_0_4) {
+ if (ctx->mMDP.version == qdutils::MDP_V3_0_4 ||
+ ctx->mMDP.version == qdutils::MDP_V3_0_5) {
last = (uint32_t)list->numHwLayers - 1;
renderBuffer = (private_handle_t *)list->hwLayers[last].handle;
} else {
@@ -568,7 +571,8 @@
copybit_device_t *copybit = getCopyBitDevice();
// Async mode
copybit->flush_get_fence(copybit, fd);
- if(ctx->mMDP.version == qdutils::MDP_V3_0_4 &&
+ if((ctx->mMDP.version == qdutils::MDP_V3_0_4 ||
+ ctx->mMDP.version == qdutils::MDP_V3_0_5) &&
list->hwLayers[last].acquireFenceFd >= 0) {
close(list->hwLayers[last].acquireFenceFd);
list->hwLayers[last].acquireFenceFd = -1;
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index d67a7a1..52572b0 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -254,8 +254,10 @@
// Only MDP copybit is used
if ((compositionType & (qdutils::COMPOSITION_TYPE_DYN |
qdutils::COMPOSITION_TYPE_MDP)) &&
+ ((qdutils::MDPVersion::getInstance().getMDPVersion() ==
+ qdutils::MDP_V3_0_4) ||
(qdutils::MDPVersion::getInstance().getMDPVersion() ==
- qdutils::MDP_V3_0_4)) {
+ qdutils::MDP_V3_0_5))) {
ctx->mCopyBit[HWC_DISPLAY_PRIMARY] = new CopyBit(ctx,
HWC_DISPLAY_PRIMARY);
}
@@ -2160,7 +2162,8 @@
if(dpy == HWC_DISPLAY_PRIMARY)
return false;
}
- if(ctx->mMDP.version == qdutils::MDP_V3_0_4)
+ if((ctx->mMDP.version == qdutils::MDP_V3_0_4)
+ ||(ctx->mMDP.version == qdutils::MDP_V3_0_5))
return false;
return true;
}