From 074d4f3418168ee19c81ff767e60cc2248843b0a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonas=20=C3=85dahl?= Date: Thu, 17 Dec 2020 22:48:28 +0100 Subject: [PATCH] output/kms: Make EDID be read via MetaOutputNative object Part-of: --- src/backends/native/meta-monitor-manager-native.c | 2 +- src/backends/native/meta-output-kms.c | 8 ++++++-- src/backends/native/meta-output-kms.h | 2 -- src/backends/native/meta-output-native.c | 8 ++++++++ src/backends/native/meta-output-native.h | 4 ++++ 5 files changed, 19 insertions(+), 5 deletions(-) diff --git a/src/backends/native/meta-monitor-manager-native.c b/src/backends/native/meta-monitor-manager-native.c index 9ba589922..d0253d89a 100644 --- a/src/backends/native/meta-monitor-manager-native.c +++ b/src/backends/native/meta-monitor-manager-native.c @@ -89,7 +89,7 @@ static GBytes * meta_monitor_manager_native_read_edid (MetaMonitorManager *manager, MetaOutput *output) { - return meta_output_kms_read_edid (META_OUTPUT_KMS (output)); + return meta_output_native_read_edid (META_OUTPUT_NATIVE (output)); } static void diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c index b976c116d..eff8db5a9 100644 --- a/src/backends/native/meta-output-kms.c +++ b/src/backends/native/meta-output-kms.c @@ -110,9 +110,10 @@ meta_output_kms_can_clone (MetaOutputKms *output_kms, other_output_kms->kms_connector); } -GBytes * -meta_output_kms_read_edid (MetaOutputKms *output_kms) +static GBytes * +meta_output_kms_read_edid (MetaOutputNative *output_native) { + MetaOutputKms *output_kms = META_OUTPUT_KMS (output_native); const MetaKmsConnectorState *connector_state; GBytes *edid_data; @@ -387,4 +388,7 @@ meta_output_kms_init (MetaOutputKms *output_kms) static void meta_output_kms_class_init (MetaOutputKmsClass *klass) { + MetaOutputNativeClass *output_native_class = META_OUTPUT_NATIVE_CLASS (klass); + + output_native_class->read_edid = meta_output_kms_read_edid; } diff --git a/src/backends/native/meta-output-kms.h b/src/backends/native/meta-output-kms.h index f6443efa4..52acc6032 100644 --- a/src/backends/native/meta-output-kms.h +++ b/src/backends/native/meta-output-kms.h @@ -47,8 +47,6 @@ MetaKmsConnector * meta_output_kms_get_kms_connector (MetaOutputKms *output_kms) uint32_t meta_output_kms_get_connector_id (MetaOutputKms *output_kms); -GBytes * meta_output_kms_read_edid (MetaOutputKms *output_kms); - MetaOutputKms * meta_output_kms_new (MetaGpuKms *gpu_kms, MetaKmsConnector *kms_connector, MetaOutput *old_output, diff --git a/src/backends/native/meta-output-native.c b/src/backends/native/meta-output-native.c index 102c81528..f21b2ebc6 100644 --- a/src/backends/native/meta-output-native.c +++ b/src/backends/native/meta-output-native.c @@ -24,6 +24,14 @@ G_DEFINE_ABSTRACT_TYPE (MetaOutputNative, meta_output_native, META_TYPE_OUTPUT) +GBytes * +meta_output_native_read_edid (MetaOutputNative *output_native) +{ + MetaOutputNativeClass *klass = META_OUTPUT_NATIVE_GET_CLASS (output_native); + + return klass->read_edid (output_native); +} + static void meta_output_native_init (MetaOutputNative *output_native) { diff --git a/src/backends/native/meta-output-native.h b/src/backends/native/meta-output-native.h index a93cbfd7f..f0475ae3b 100644 --- a/src/backends/native/meta-output-native.h +++ b/src/backends/native/meta-output-native.h @@ -30,6 +30,10 @@ G_DECLARE_DERIVABLE_TYPE (MetaOutputNative, meta_output_native, struct _MetaOutputNativeClass { MetaOutputClass parent_class; + + GBytes * (* read_edid) (MetaOutputNative *output_native); }; +GBytes * meta_output_native_read_edid (MetaOutputNative *output_native); + #endif /* META_OUTPUT_NATIVE_H */