hwc: Add vpu client

Stub implementation of VPU in HWC.
This commit passes through binder calls from HWC
to the VPU library. It also has stub prepare/draw calls
in the VPU client object which can be used to configure
VPU in the composition cycle.

Change-Id: I2606f2884e870448d29ef26e02faac92e157e2c6
diff --git a/libhwcomposer/hwc.cpp b/libhwcomposer/hwc.cpp
index 1290cc4..b9b0a61 100644
--- a/libhwcomposer/hwc.cpp
+++ b/libhwcomposer/hwc.cpp
@@ -38,6 +38,7 @@
 #include "hwc_copybit.h"
 #include "hwc_ad.h"
 #include "profiler.h"
+#include "hwc_vpuclient.h"
 
 using namespace qhwc;
 using namespace overlay;
@@ -155,6 +156,9 @@
         hwc_layer_1_t *fbLayer = &list->hwLayers[last];
         if(fbLayer->handle) {
             setListStats(ctx, list, dpy);
+#ifdef VPU_TARGET
+            ctx->mVPUClient->prepare(ctx, list);
+#endif
             if(ctx->mMDPComp[dpy]->prepare(ctx, list) < 0) {
                 const int fbZ = 0;
                 ctx->mFBUpdate[dpy]->prepare(ctx, list, fbZ);
@@ -441,6 +445,9 @@
             ALOGE("%s: MDPComp draw failed", __FUNCTION__);
             ret = -1;
         }
+#ifdef VPU_TARGET
+        ctx->mVPUClient->draw(ctx, list);
+#endif
 
         //TODO We dont check for SKIP flag on this layer because we need PAN
         //always. Last layer is always FB