hwc: vd: Dynamic dumping of frames for virtual displays

Provides a way to enable/disable dumping of virtual display
frames at runtime via binder. The dumping needs to be enabled
from a priviliged shell.

For example,
$ adb shell service call display.qservice 15 i32 3 i32 1

Here 15 is the integer code for DYNAMIC_DEBUG in IQService.h
The first parameter 3 is for DEBUG_VD
The second parameter 1 is to enable.

Change-Id: Idd62c5d9ffa6e4eb7dec585984d145bc6a421336
diff --git a/libhwcomposer/hwc_virtual.cpp b/libhwcomposer/hwc_virtual.cpp
index db43435..b65f417 100644
--- a/libhwcomposer/hwc_virtual.cpp
+++ b/libhwcomposer/hwc_virtual.cpp
@@ -36,6 +36,7 @@
 using namespace qhwc;
 using namespace overlay;
 
+bool HWCVirtualBase::sVDDumpEnabled = false;
 HWCVirtualBase* HWCVirtualBase::getObject(bool isVDSEnabled) {
 
     if(isVDSEnabled) {
@@ -49,16 +50,6 @@
     }
 }
 
-HWCVirtualVDS::HWCVirtualVDS() {
-    char value[PROPERTY_VALUE_MAX];
-    mVDSDumpEnabled = false;
-    if((property_get("debug.hwc.enable_vds_dump", value, NULL) > 0)) {
-        if(atoi(value) != 0) {
-            mVDSDumpEnabled = true;
-        }
-    }
-}
-
 void HWCVirtualVDS::init(hwc_context_t *ctx) {
     const int dpy = HWC_DISPLAY_VIRTUAL;
     ctx->mFBUpdate[dpy] =
@@ -216,7 +207,7 @@
                 ret = -1;
             }
 
-            if(mVDSDumpEnabled) {
+            if(sVDDumpEnabled) {
                 char bufferName[128];
                 // Dumping frame buffer
                 sync_wait(fbLayer->acquireFenceFd, 1000);