drm_hwcomposer: Stop using HWC2 hooks for displayFrame

Add a display_frame member to LayerProperties, and set the display frame
along with other LayerCommand properties.

Change-Id: Ia3549fb9d1750f3d08896d60c7d962f1c3b085b5
Signed-off-by: Drew Davenport <ddavenport@google.com>
diff --git a/hwc3/ComposerClient.cpp b/hwc3/ComposerClient.cpp
index c344b1c..60cafad 100644
--- a/hwc3/ComposerClient.cpp
+++ b/hwc3/ComposerClient.cpp
@@ -204,6 +204,13 @@
   return aidl_configuration;
 }
 
+std::optional<hwc_rect> AidlToRect(const std::optional<common::Rect>& rect) {
+  if (!rect) {
+    return std::nullopt;
+  }
+  return hwc_rect{rect->left, rect->top, rect->right, rect->bottom};
+}
+
 }  // namespace
 
 ComposerClient::ComposerClient() {
@@ -463,12 +470,9 @@
   properties.color_space = AidlToColorSpace(command.dataspace);
   properties.sample_range = AidlToSampleRange(command.dataspace);
   properties.composition_type = AidlToCompositionType(command.composition);
+  properties.display_frame = AidlToRect(command.displayFrame);
   layer->SetLayerProperties(properties);
 
-  if (command.displayFrame) {
-    ExecuteSetLayerDisplayFrame(display_id, layer_wrapper,
-                                *command.displayFrame);
-  }
   if (command.planeAlpha) {
     ExecuteSetLayerPlaneAlpha(display_id, layer_wrapper, *command.planeAlpha);
   }
@@ -1175,15 +1179,6 @@
   }
 }
 
-void ComposerClient::ExecuteSetLayerDisplayFrame(int64_t /*display_id*/,
-                                                 HwcLayerWrapper& layer,
-                                                 const common::Rect& rect) {
-  const hwc_rect_t hwc2_rect{rect.left, rect.top, rect.right, rect.bottom};
-  auto err = Hwc2toHwc3Error(layer.layer->SetLayerDisplayFrame(hwc2_rect));
-  if (err != hwc3::Error::kNone) {
-    cmd_result_writer_->AddError(err);
-  }
-}
 void ComposerClient::ExecuteSetLayerPlaneAlpha(int64_t /*display_id*/,
                                                HwcLayerWrapper& layer,
                                                const PlaneAlpha& plane_alpha) {