sdm: Enable Hybrid composition

Enable Hybrid composition based on property.

Change-Id: I068300bceeac50eaa0e8e7596a677287550189fc
diff --git a/sdm/libs/hwc/blit_engine_c2d.cpp b/sdm/libs/hwc/blit_engine_c2d.cpp
index be8c6f9..a7f621d 100644
--- a/sdm/libs/hwc/blit_engine_c2d.cpp
+++ b/sdm/libs/hwc/blit_engine_c2d.cpp
@@ -57,6 +57,7 @@
 #include <utils/rect.h>
 
 #include "blit_engine_c2d.h"
+#include "hwc_debugger.h"
 
 #define __CLASS__ "BlitEngineC2D"
 
@@ -88,11 +89,13 @@
   return 0;
 }
 
-BlitEngineC2d::BlitEngineC2d() : blit_active_(false), dump_frame_count_(0), dump_frame_index_(0) {
+BlitEngineC2d::BlitEngineC2d() {
   for (uint32_t i = 0; i < kNumBlitTargetBuffers; i++) {
     blit_target_buffer_[i] = NULL;
     release_fence_fd_[i] = -1;
   }
+
+  HWCDebugHandler::Get()->GetProperty("persist.hwc.blit.comp", &blit_supported_);
 }
 
 BlitEngineC2d::~BlitEngineC2d() {
@@ -250,8 +253,7 @@
 
   for (i = 0; i < layer_stack->layer_count; i++) {
     Layer &layer = layer_stack->layers[i];
-    if (IsUBWCFormat(layer.input_buffer->format)) {
-      // UBWC is not currently supported
+    if (!blit_supported_) {
       return -1;
     }
     if (layer.composition == kCompositionGPUTarget) {
diff --git a/sdm/libs/hwc/blit_engine_c2d.h b/sdm/libs/hwc/blit_engine_c2d.h
index 74c4b81..5400611 100644
--- a/sdm/libs/hwc/blit_engine_c2d.h
+++ b/sdm/libs/hwc/blit_engine_c2d.h
@@ -112,9 +112,10 @@
   int release_fence_fd_[kNumBlitTargetBuffers];
   uint32_t num_blit_target_;
   int blit_target_start_index_;
-  bool blit_active_;
-  uint32_t dump_frame_count_;
-  uint32_t dump_frame_index_;
+  bool blit_active_ = false;
+  uint32_t dump_frame_count_ = 0;
+  uint32_t dump_frame_index_ = 0;
+  int blit_supported_ = 0;
 };
 
 }  // namespace sdm