display: Add QC Display utils
* Rename qcomui directory to qdutils
* Avoid inclusion of qcom_ui header
* Add class to get MDP version
* Add namespace for qdutils to prevent collison
Change-Id: I9a3f440e6b0fea1cfcc478ddca90af5df3bbb897
diff --git a/libhwcomposer/Android.mk b/libhwcomposer/Android.mk
index 7cb5c6f..018de6c 100644
--- a/libhwcomposer/Android.mk
+++ b/libhwcomposer/Android.mk
@@ -3,7 +3,7 @@
LOCAL_PRELINK_MODULE := false
LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw
LOCAL_SHARED_LIBRARIES := liblog libcutils libhardware libutils
-LOCAL_SHARED_LIBRARIES += libEGL liboverlay libgenlock
+LOCAL_SHARED_LIBRARIES += libEGL liboverlay libgenlock libqdutils
LOCAL_SRC_FILES := hwc.cpp \
hwc_overlay.cpp \
hwc_utils.cpp
@@ -11,7 +11,7 @@
LOCAL_C_INCLUDES := hardware/qcom/display/libgralloc
LOCAL_C_INCLUDES += hardware/qcom/display/libgenlock
LOCAL_C_INCLUDES += hardware/qcom/display/liboverlay
-LOCAL_C_INCLUDES += hardware/qcom/display/libqcomui
+LOCAL_C_INCLUDES += hardware/qcom/display/libqdutils
LOCAL_CFLAGS:= -DLOG_TAG=\"$(TARGET_BOARD_PLATFORM).hwcomposer\"
LOCAL_MODULE_TAGS := optional
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index afd2aa9..a5e31ef 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -94,7 +94,7 @@
for (size_t i=0; i<list->numHwLayers; i++) {
if (list->hwLayers[i].flags & HWC_SKIP_LAYER) {
continue;
- } else if (list->hwLayers[i].compositionType == HWC_USE_OVERLAY) {
+ } else if (list->hwLayers[i].compositionType == HWC_OVERLAY) {
drawLayerUsingOverlay(ctx, &(list->hwLayers[i]));
}
}
diff --git a/libhwcomposer/hwc_overlay.cpp b/libhwcomposer/hwc_overlay.cpp
index 00f53e9..77402cc 100644
--- a/libhwcomposer/hwc_overlay.cpp
+++ b/libhwcomposer/hwc_overlay.cpp
@@ -16,6 +16,7 @@
*/
#include "hwc_utils.h"
+#define FINAL_TRANSFORM_MASK 0x000F
namespace qhwc {
// Determine overlay state based on decoded video info
diff --git a/libhwcomposer/hwc_utils.cpp b/libhwcomposer/hwc_utils.cpp
index 13873f8..79e09f7 100644
--- a/libhwcomposer/hwc_utils.cpp
+++ b/libhwcomposer/hwc_utils.cpp
@@ -16,6 +16,7 @@
*/
#include "hwc_utils.h"
+#include "mdp_version.h"
namespace qhwc {
void initContext(hwc_context_t *ctx)
@@ -24,6 +25,9 @@
openFramebufferDevice(ctx);
ctx->mOverlay = overlay::Overlay::getInstance();
ctx->qbuf = new QueuedBufferStore();
+ ctx->mdpVersion = qdutils::MDPVersion::getInstance().getMDPVersion();
+ ctx->hasOverlay = qdutils::MDPVersion::getInstance().hasOverlay();
+ ALOGI("MDP version: %d",ctx->mdpVersion);
}
@@ -89,7 +93,7 @@
(private_handle_t *)layer->handle;
//XXX: Handle targets not using overlay
if(prepareOverlay(ctx, layer)) {
- layer->compositionType = HWC_USE_OVERLAY;
+ layer->compositionType = HWC_OVERLAY;
layer->hints |= HWC_HINT_CLEAR_FB;
}
}
diff --git a/libhwcomposer/hwc_utils.h b/libhwcomposer/hwc_utils.h
index b1c7871..94a4edb 100644
--- a/libhwcomposer/hwc_utils.h
+++ b/libhwcomposer/hwc_utils.h
@@ -26,7 +26,6 @@
#include <string.h>
#include <fb_priv.h>
#include <overlay.h>
-#include <qcom_ui.h>
#include <genlock.h>
#include "hwc_qbuf.h"
@@ -37,6 +36,13 @@
struct hwc_context_t;
namespace qhwc {
+enum external_display_type {
+ EXT_TYPE_NONE,
+ EXT_TYPE_HDMI,
+ EXT_TYPE_WIFI
+};
+
+
// -----------------------------------------------------------------------------
// Utility functions - implemented in hwc_utils.cpp
void dumpLayer(hwc_layer_t const* l);
@@ -93,6 +99,8 @@
int yuvBufferCount;
int hdmiEnabled;
int numHwLayers;
+ int mdpVersion;
+ bool hasOverlay;
bool skipComposition;
//Framebuffer device