drm_hwcomposer: Rework KMS composition planner + plane sharing support
Rewrite Layer-to-Plane planner. Get rid of ~200 redundant lines of code
+ added plane sharing functionality.
Closes: https://gitlab.freedesktop.org/drm-hwcomposer/drm-hwcomposer/-/issues/11
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/backend/Backend.cpp b/backend/Backend.cpp
index d707192..f6d9c18 100644
--- a/backend/Backend.cpp
+++ b/backend/Backend.cpp
@@ -119,8 +119,8 @@
std::tuple<int, int> Backend::GetExtraClientRange(
HwcDisplay *display, const std::vector<HwcLayer *> &layers,
int client_start, size_t client_size) {
- size_t avail_planes = 1 /* primary planes count*/ +
- display->GetPipe().overlay_planes.size();
+ auto planes = display->GetPipe().GetUsablePlanes();
+ size_t avail_planes = planes.size();
/*
* If more layers then planes, save one plane