tests: Add KMS device tests

As other KMS tests, depends on being DRM master and vkms being loaded.

Currently consists of a sanity check that checks for the expected set of
connectors, CRTCs, planes, etc.

Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2159>
This commit is contained in:
Jonas Ådahl
2021-06-23 10:10:35 +02:00
committed by Marge Bot
parent 23a530cb09
commit 43a1ba3432
6 changed files with 131 additions and 0 deletions

View File

@ -61,6 +61,7 @@ typedef struct _MetaKmsConnectorState
MetaMonitorTransform panel_orientation_transform;
} MetaKmsConnectorState;
META_EXPORT_TEST
MetaKmsDevice * meta_kms_connector_get_device (MetaKmsConnector *connector);
uint32_t meta_kms_connector_get_connector_type (MetaKmsConnector *connector);

View File

@ -60,6 +60,7 @@ G_DECLARE_FINAL_TYPE (MetaKmsCrtc, meta_kms_crtc,
META, KMS_CRTC,
GObject)
META_EXPORT_TEST
MetaKmsDevice * meta_kms_crtc_get_device (MetaKmsCrtc *crtc);
const MetaKmsCrtcState * meta_kms_crtc_get_current_state (MetaKmsCrtc *crtc);

View File

@ -37,6 +37,7 @@ MetaKms * meta_kms_device_get_kms (MetaKmsDevice *device);
META_EXPORT_TEST
const char * meta_kms_device_get_path (MetaKmsDevice *device);
META_EXPORT_TEST
const char * meta_kms_device_get_driver_name (MetaKmsDevice *device);
const char * meta_kms_device_get_driver_description (MetaKmsDevice *device);
@ -49,6 +50,7 @@ gboolean meta_kms_device_get_cursor_size (MetaKmsDevice *device,
gboolean meta_kms_device_prefers_shadow_buffer (MetaKmsDevice *device);
META_EXPORT_TEST
gboolean meta_kms_device_uses_monotonic_clock (MetaKmsDevice *device);
META_EXPORT_TEST
@ -57,6 +59,7 @@ GList * meta_kms_device_get_connectors (MetaKmsDevice *device);
META_EXPORT_TEST
GList * meta_kms_device_get_crtcs (MetaKmsDevice *device);
META_EXPORT_TEST
GList * meta_kms_device_get_planes (MetaKmsDevice *device);
META_EXPORT_TEST

View File

@ -38,10 +38,12 @@ enum _MetaKmsPlaneType
G_DECLARE_FINAL_TYPE (MetaKmsPlane, meta_kms_plane,
META, KMS_PLANE, GObject)
META_EXPORT_TEST
MetaKmsDevice * meta_kms_plane_get_device (MetaKmsPlane *plane);
uint32_t meta_kms_plane_get_id (MetaKmsPlane *plane);
META_EXPORT_TEST
MetaKmsPlaneType meta_kms_plane_get_plane_type (MetaKmsPlane *plane);
gboolean meta_kms_plane_is_transform_handled (MetaKmsPlane *plane,
@ -55,6 +57,7 @@ GArray * meta_kms_plane_copy_drm_format_list (MetaKmsPlane *plane);
gboolean meta_kms_plane_is_format_supported (MetaKmsPlane *plane,
uint32_t format);
META_EXPORT_TEST
gboolean meta_kms_plane_is_usable_with (MetaKmsPlane *plane,
MetaKmsCrtc *crtc);