75 lines
2.5 KiB
Diff
75 lines
2.5 KiB
Diff
|
From 863b31cae9be5e8e0467f1a9f93e7348d41f7e88 Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Jos=C3=A9=20Exp=C3=B3sito?= <jexposit@redhat.com>
|
||
|
Date: Tue, 29 Oct 2024 11:35:17 +0100
|
||
|
Subject: [PATCH 3/5] output/kms: Add meta_output_kms_from_kms_connector()
|
||
|
|
||
|
Add a function that returns a MetaOutputKms (if any) from a
|
||
|
MetaKmsConnector.
|
||
|
|
||
|
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/4112>
|
||
|
---
|
||
|
src/backends/native/meta-output-kms.c | 19 +++++++++++++++++++
|
||
|
src/backends/native/meta-output-kms.h | 2 ++
|
||
|
2 files changed, 21 insertions(+)
|
||
|
|
||
|
diff --git a/src/backends/native/meta-output-kms.c b/src/backends/native/meta-output-kms.c
|
||
|
index 684cf0e094..27b7533a5e 100644
|
||
|
--- a/src/backends/native/meta-output-kms.c
|
||
|
+++ b/src/backends/native/meta-output-kms.c
|
||
|
@@ -47,6 +47,8 @@ struct _MetaOutputKms
|
||
|
|
||
|
G_DEFINE_TYPE (MetaOutputKms, meta_output_kms, META_TYPE_OUTPUT_NATIVE)
|
||
|
|
||
|
+static GQuark kms_connector_output_kms_quark;
|
||
|
+
|
||
|
MetaKmsConnector *
|
||
|
meta_output_kms_get_kms_connector (MetaOutputKms *output_kms)
|
||
|
{
|
||
|
@@ -90,6 +92,13 @@ meta_output_kms_can_clone (MetaOutputKms *output_kms,
|
||
|
return TRUE;
|
||
|
}
|
||
|
|
||
|
+MetaOutputKms *
|
||
|
+meta_output_kms_from_kms_connector (MetaKmsConnector *connector)
|
||
|
+{
|
||
|
+ return g_object_get_qdata (G_OBJECT (connector),
|
||
|
+ kms_connector_output_kms_quark);
|
||
|
+}
|
||
|
+
|
||
|
static GBytes *
|
||
|
meta_output_kms_read_edid (MetaOutputNative *output_native)
|
||
|
{
|
||
|
@@ -534,6 +543,16 @@ meta_output_kms_new (MetaGpuKms *gpu_kms,
|
||
|
meta_output_unassign_crtc (output);
|
||
|
}
|
||
|
|
||
|
+ if (!kms_connector_output_kms_quark)
|
||
|
+ {
|
||
|
+ kms_connector_output_kms_quark =
|
||
|
+ g_quark_from_static_string ("kms-connector-output-kms-quark");
|
||
|
+ }
|
||
|
+
|
||
|
+ g_object_set_qdata (G_OBJECT (kms_connector),
|
||
|
+ kms_connector_output_kms_quark,
|
||
|
+ output_kms);
|
||
|
+
|
||
|
return output_kms;
|
||
|
}
|
||
|
|
||
|
diff --git a/src/backends/native/meta-output-kms.h b/src/backends/native/meta-output-kms.h
|
||
|
index e0eb60eb4d..4391dc1899 100644
|
||
|
--- a/src/backends/native/meta-output-kms.h
|
||
|
+++ b/src/backends/native/meta-output-kms.h
|
||
|
@@ -39,6 +39,8 @@ MetaKmsConnector * meta_output_kms_get_kms_connector (MetaOutputKms *output_kms)
|
||
|
|
||
|
uint32_t meta_output_kms_get_connector_id (MetaOutputKms *output_kms);
|
||
|
|
||
|
+MetaOutputKms * meta_output_kms_from_kms_connector (MetaKmsConnector *connector);
|
||
|
+
|
||
|
MetaOutputKms * meta_output_kms_new (MetaGpuKms *gpu_kms,
|
||
|
MetaKmsConnector *kms_connector,
|
||
|
MetaOutput *old_output,
|
||
|
--
|
||
|
2.48.1
|
||
|
|