drm_hwcomposer: Move MarkValidated into Backend

The MarkValidated function is used only for display validation which is
implemented in the generic backend.

Signed-off-by: Matvii Zorin <matvii.zorin@globallogic.com>
diff --git a/backend/Backend.cpp b/backend/Backend.cpp
index 196a893..c7e78c9 100644
--- a/backend/Backend.cpp
+++ b/backend/Backend.cpp
@@ -46,11 +46,11 @@
   if (display->compositor().ShouldFlattenOnClient()) {
     client_start = 0;
     client_size = z_map.size();
-    display->MarkValidated(z_map, client_start, client_size);
+    MarkValidated(z_map, client_start, client_size);
   } else {
     std::tie(client_start, client_size) = GetClientLayers(display, z_map);
 
-    display->MarkValidated(z_map, client_start, client_size);
+    MarkValidated(z_map, client_start, client_size);
 
     bool testing_needed = !(client_start == 0 && client_size == z_map.size());
 
@@ -59,7 +59,7 @@
       ++display->total_stats().failed_kms_validate_;
       client_start = 0;
       client_size = z_map.size();
-      display->MarkValidated(z_map, 0, client_size);
+      MarkValidated(z_map, 0, client_size);
     }
   }
 
@@ -112,6 +112,16 @@
   return pixops;
 }
 
+void Backend::MarkValidated(std::map<uint32_t, DrmHwcTwo::HwcLayer *> &z_map,
+                            size_t client_first_z, size_t client_size) {
+  for (std::pair<const uint32_t, DrmHwcTwo::HwcLayer *> &l : z_map) {
+    if (l.first >= client_first_z && l.first < client_first_z + client_size)
+      l.second->set_validated_type(HWC2::Composition::Client);
+    else
+      l.second->set_validated_type(HWC2::Composition::Device);
+  }
+}
+
 std::tuple<int, int> Backend::GetExtraClientRange(
     DrmHwcTwo::HwcDisplay *display,
     const std::vector<DrmHwcTwo::HwcLayer *> &layers, int client_start,