drm_hwcomposer: Move CreateModeBlob to DrmMode class
CreateModeBlob doesn't architecturally belongs to DrmDisplayCompositor.
+ align DrmMode internal types with libdrm types to avoid compilation errors.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/compositor/DrmDisplayCompositor.cpp b/compositor/DrmDisplayCompositor.cpp
index 9d3e56d..bb6a33b 100644
--- a/compositor/DrmDisplayCompositor.cpp
+++ b/compositor/DrmDisplayCompositor.cpp
@@ -205,16 +205,6 @@
return ret;
}
-auto DrmDisplayCompositor::CreateModeBlob(const DrmMode &mode)
- -> DrmModeUserPropertyBlobUnique {
- struct drm_mode_modeinfo drm_mode {};
- mode.ToDrmModeModeInfo(&drm_mode);
-
- DrmDevice *drm = resource_manager_->GetDrmDevice(display_);
- return drm->RegisterUserPropertyBlob(&drm_mode,
- sizeof(struct drm_mode_modeinfo));
-}
-
void DrmDisplayCompositor::ClearDisplay() {
if (!active_composition_)
return;
@@ -250,7 +240,7 @@
auto DrmDisplayCompositor::SetDisplayMode(const DrmMode &display_mode) -> bool {
mode_.mode = display_mode;
- mode_.blob = CreateModeBlob(mode_.mode);
+ mode_.blob = mode_.mode.CreateModeBlob(*resource_manager_->GetDrmDevice(display_));
return !!mode_.blob;
}