drm_hwcomposer: Move HwcDisplayConfigs out of HwcDisplay class
To reduce complexity of HwcDisplay class.
Signed-off-by: Roman Stratiienko <roman.o.stratiienko@globallogic.com>
diff --git a/hwc2_device/HwcDisplay.h b/hwc2_device/HwcDisplay.h
index f69ff18..6f46f5d 100644
--- a/hwc2_device/HwcDisplay.h
+++ b/hwc2_device/HwcDisplay.h
@@ -21,6 +21,7 @@
#include <optional>
+#include "HwcDisplayConfigs.h"
#include "compositor/DrmDisplayCompositor.h"
#include "drm/ResourceManager.h"
#include "drm/VSyncWorker.h"
@@ -138,22 +139,6 @@
uint32_t frames_flattened_ = 0;
};
- struct HwcDisplayConfig {
- int id{};
- int group_id{};
- DrmMode mode;
- bool disabled{};
-
- bool IsInterlaced() const {
- return (mode.flags() & DRM_MODE_FLAG_INTERLACE) != 0;
- }
- };
-
- std::map<int /*config_id*/, struct HwcDisplayConfig> hwc_configs_;
-
- int active_config_id_ = 0;
- int preferred_config_id_ = 0;
-
const Backend *backend() const;
void set_backend(std::unique_ptr<Backend> backend);
@@ -229,6 +214,8 @@
constexpr static size_t MATRIX_SIZE = 16;
+ HwcDisplayConfigs configs_;
+
DrmHwcTwo *hwc2_;
std::optional<DrmMode> staged_mode;