drm_hwcomposer: Initialize HwcDisplay using DrmDisplayPIpeline

HwcDisplay can now take all necessary objects from DrmDisplayPipeline.

Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/drm/DrmDisplayPipeline.cpp b/drm/DrmDisplayPipeline.cpp
index 69d28b3..0ce1afc 100644
--- a/drm/DrmDisplayPipeline.cpp
+++ b/drm/DrmDisplayPipeline.cpp
@@ -25,6 +25,7 @@
 #include "DrmPlane.h"
 #include "compositor/DrmDisplayCompositor.h"
 #include "utils/log.h"
+#include "utils/properties.h"
 
 namespace android {
 
@@ -97,9 +98,13 @@
     return {};
   }
 
-  bool use_overlay_planes = true;  // TODO(rsglobal): restore
-                                   // strtol(use_overlay_planes_prop, nullptr,
-                                   // 10);
+  char use_overlay_planes_prop[PROPERTY_VALUE_MAX];
+  property_get("vendor.hwc.drm.use_overlay_planes", use_overlay_planes_prop,
+               "1");
+  constexpr int kStrtolBase = 10;
+  bool use_overlay_planes = strtol(use_overlay_planes_prop, nullptr,
+                                   kStrtolBase) != 0;
+
   if (use_overlay_planes) {
     for (auto *plane : overlay_planes) {
       auto op = plane->BindPipeline(pipe.get());
@@ -109,6 +114,8 @@
     }
   }
 
+  pipe->compositor = std::make_unique<DrmDisplayCompositor>(pipe.get());
+
   return pipe;
 }