[mutter] kms/connector: Add getter for preferred mode
- From: Marge Bot <marge-bot src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [mutter] kms/connector: Add getter for preferred mode
- Date: Tue, 25 Jan 2022 16:25:07 +0000 (UTC)
commit feadaacfdd02fa1d3bedfb64b94c719d86c01f6f
Author: Jonas Ã…dahl <jadahl gmail com>
Date: Thu Jun 24 15:30:25 2021 +0200
kms/connector: Add getter for preferred mode
This replaces a helper used in tests. The intention is to use it from
other tests, and seemed like a good fit to place it under the KMS
connector object itself.
Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2159>
src/backends/native/meta-kms-connector.c | 20 ++++++++++++++++++++
src/backends/native/meta-kms-connector.h | 3 +++
src/tests/native-kms-device.c | 1 +
src/tests/native-kms-updates.c | 24 ++----------------------
4 files changed, 26 insertions(+), 22 deletions(-)
---
diff --git a/src/backends/native/meta-kms-connector.c b/src/backends/native/meta-kms-connector.c
index b317cf935b..ca0710f21d 100644
--- a/src/backends/native/meta-kms-connector.c
+++ b/src/backends/native/meta-kms-connector.c
@@ -123,6 +123,26 @@ meta_kms_connector_can_clone (MetaKmsConnector *connector,
return TRUE;
}
+MetaKmsMode *
+meta_kms_connector_get_preferred_mode (MetaKmsConnector *connector)
+{
+ const MetaKmsConnectorState *state;
+ GList *l;
+
+ state = meta_kms_connector_get_current_state (connector);
+ for (l = state->modes; l; l = l->next)
+ {
+ MetaKmsMode *mode = l->data;
+ const drmModeModeInfo *drm_mode;
+
+ drm_mode = meta_kms_mode_get_drm_mode (mode);
+ if (drm_mode->type & DRM_MODE_TYPE_PREFERRED)
+ return mode;
+ }
+
+ return NULL;
+}
+
const MetaKmsConnectorState *
meta_kms_connector_get_current_state (MetaKmsConnector *connector)
{
diff --git a/src/backends/native/meta-kms-connector.h b/src/backends/native/meta-kms-connector.h
index 02f74d9f6a..c2b763548e 100644
--- a/src/backends/native/meta-kms-connector.h
+++ b/src/backends/native/meta-kms-connector.h
@@ -73,6 +73,9 @@ const char * meta_kms_connector_get_name (MetaKmsConnector *connector);
gboolean meta_kms_connector_can_clone (MetaKmsConnector *connector,
MetaKmsConnector *other_connector);
+META_EXPORT_TEST
+MetaKmsMode * meta_kms_connector_get_preferred_mode (MetaKmsConnector *connector);
+
META_EXPORT_TEST
const MetaKmsConnectorState * meta_kms_connector_get_current_state (MetaKmsConnector *connector);
diff --git a/src/tests/native-kms-device.c b/src/tests/native-kms-device.c
index c14579ff81..55649ed6dd 100644
--- a/src/tests/native-kms-device.c
+++ b/src/tests/native-kms-device.c
@@ -58,6 +58,7 @@ meta_test_kms_device_sanity (void)
g_assert_cmpuint (g_list_length (connectors), ==, 1);
connector = META_KMS_CONNECTOR (connectors->data);
g_assert (meta_kms_connector_get_device (connector) == device);
+ g_assert_nonnull (meta_kms_connector_get_preferred_mode (connector));
crtcs = meta_kms_device_get_crtcs (device);
g_assert_cmpuint (g_list_length (crtcs), ==, 1);
diff --git a/src/tests/native-kms-updates.c b/src/tests/native-kms-updates.c
index ff983f004a..7aa77ce025 100644
--- a/src/tests/native-kms-updates.c
+++ b/src/tests/native-kms-updates.c
@@ -54,26 +54,6 @@ meta_test_kms_update_sanity (void)
meta_kms_update_free (update);
}
-static MetaKmsMode *
-get_preferred_mode (MetaKmsConnector *connector)
-{
- const MetaKmsConnectorState *state;
- GList *l;
-
- state = meta_kms_connector_get_current_state (connector);
- for (l = state->modes; l; l = l->next)
- {
- MetaKmsMode *mode = l->data;
- const drmModeModeInfo *drm_mode;
-
- drm_mode = meta_kms_mode_get_drm_mode (mode);
- if (drm_mode->type & DRM_MODE_TYPE_PREFERRED)
- return mode;
- }
-
- g_assert_not_reached ();
-}
-
static void
meta_test_kms_update_plane_assignments (void)
{
@@ -102,7 +82,7 @@ meta_test_kms_update_plane_assignments (void)
cursor_plane = meta_kms_device_get_cursor_plane_for (device, crtc);
g_assert_nonnull (cursor_plane);
- mode = get_preferred_mode (connector);
+ mode = meta_kms_connector_get_preferred_mode (connector);
mode_width = meta_kms_mode_get_width (mode);
mode_height = meta_kms_mode_get_height (mode);
@@ -220,7 +200,7 @@ meta_test_kms_update_mode_sets (void)
update = meta_kms_update_new (device);
crtc = meta_get_test_kms_crtc (device);
connector = meta_get_test_kms_connector (device);
- mode = get_preferred_mode (connector);
+ mode = meta_kms_connector_get_preferred_mode (connector);
meta_kms_update_mode_set (update, crtc,
g_list_append (NULL, connector),
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]