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