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/backend/Backend.cpp b/backend/Backend.cpp
index 98862ba..7d82eef 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 = display->primary_planes().size() +
- display->overlay_planes().size();
+ size_t avail_planes = 1 /* primary planes count*/ +
+ display->GetPipe().overlay_planes.size();
/*
* If more layers then planes, save one plane
diff --git a/backend/BackendManager.cpp b/backend/BackendManager.cpp
index 4a735eb..9bf6324 100644
--- a/backend/BackendManager.cpp
+++ b/backend/BackendManager.cpp
@@ -42,7 +42,7 @@
}
int BackendManager::SetBackendForDisplay(HwcDisplay *display) {
- std::string driver_name(display->drm()->GetName());
+ std::string driver_name(display->GetPipe().device->GetName());
char backend_override[PROPERTY_VALUE_MAX];
property_get("vendor.hwc.backend_override", backend_override,
driver_name.c_str());
@@ -51,13 +51,15 @@
display->set_backend(GetBackendByName(backend_name));
if (display->backend() == nullptr) {
ALOGE("Failed to set backend '%s' for '%s' and driver '%s'",
- backend_name.c_str(), display->connector()->GetName().c_str(),
+ backend_name.c_str(),
+ display->GetPipe().connector->Get()->GetName().c_str(),
driver_name.c_str());
return -EINVAL;
}
ALOGI("Backend '%s' for '%s' and driver '%s' was successfully set",
- backend_name.c_str(), display->connector()->GetName().c_str(),
+ backend_name.c_str(),
+ display->GetPipe().connector->Get()->GetName().c_str(),
driver_name.c_str());
return 0;