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