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>
This commit is contained in:
José Expósito 2024-10-29 11:35:17 +01:00 committed by Marge Bot
parent f93e85f69b
commit 863b31cae9
2 changed files with 21 additions and 0 deletions

View File

@ -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;
}

View File

@ -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,