diff --git a/src/tests/meta-kms-test-utils.c b/src/tests/meta-kms-test-utils.c index 2077e96fe..d40744205 100644 --- a/src/tests/meta-kms-test-utils.c +++ b/src/tests/meta-kms-test-utils.c @@ -29,6 +29,8 @@ #include "backends/native/meta-kms-crtc.h" #include "backends/native/meta-kms-device.h" #include "backends/native/meta-kms-mode.h" +#include "backends/native/meta-kms-plane.h" +#include "backends/native/meta-kms-types.h" #include "backends/native/meta-kms-update.h" #include "backends/native/meta-kms.h" @@ -67,6 +69,41 @@ meta_get_test_kms_connector (MetaKmsDevice *device) return META_KMS_CONNECTOR (connectors->data); } +static MetaKmsPlane * +get_plane_with_type_for (MetaKmsDevice *device, + MetaKmsCrtc *crtc, + MetaKmsPlaneType type) +{ + GList *l; + + for (l = meta_kms_device_get_planes (device); l; l = l->next) + { + MetaKmsPlane *plane = l->data; + + if (meta_kms_plane_get_plane_type (plane) != type) + continue; + + if (meta_kms_plane_is_usable_with (plane, crtc)) + return plane; + } + + return NULL; +} + +MetaKmsPlane * +meta_get_primary_test_plane_for (MetaKmsDevice *device, + MetaKmsCrtc *crtc) +{ + return get_plane_with_type_for (device, crtc, META_KMS_PLANE_TYPE_PRIMARY); +} + +MetaKmsPlane * +meta_get_cursor_test_plane_for (MetaKmsDevice *device, + MetaKmsCrtc *crtc) +{ + return get_plane_with_type_for (device, crtc, META_KMS_PLANE_TYPE_CURSOR); +} + static MetaDeviceFile * open_device_file_for (MetaKmsDevice *device) { diff --git a/src/tests/meta-kms-test-utils.h b/src/tests/meta-kms-test-utils.h index d77063aa2..344bf5b94 100644 --- a/src/tests/meta-kms-test-utils.h +++ b/src/tests/meta-kms-test-utils.h @@ -29,6 +29,12 @@ MetaKmsCrtc * meta_get_test_kms_crtc (MetaKmsDevice *device); MetaKmsConnector * meta_get_test_kms_connector (MetaKmsDevice *device); +MetaKmsPlane * meta_get_primary_test_plane_for (MetaKmsDevice *device, + MetaKmsCrtc *crtc); + +MetaKmsPlane * meta_get_cursor_test_plane_for (MetaKmsDevice *device, + MetaKmsCrtc *crtc); + MetaDrmBuffer * meta_create_test_dumb_buffer (MetaKmsDevice *device, int width, int height); diff --git a/src/tests/native-kms-device.c b/src/tests/native-kms-device.c index d47e0cb3b..e2a13ec45 100644 --- a/src/tests/native-kms-device.c +++ b/src/tests/native-kms-device.c @@ -76,9 +76,9 @@ meta_test_kms_device_sanity (void) planes = meta_kms_device_get_planes (device); g_assert_cmpuint (g_list_length (planes), ==, 2); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); g_assert_nonnull (primary_plane); - cursor_plane = meta_kms_device_get_cursor_plane_for (device, crtc); + cursor_plane = meta_get_cursor_test_plane_for (device, crtc); g_assert_nonnull (cursor_plane); g_assert (cursor_plane != primary_plane); g_assert_nonnull (g_list_find (planes, primary_plane)); @@ -280,7 +280,7 @@ meta_test_kms_device_mode_set (void) primary_buffer = meta_create_test_mode_dumb_buffer (device, mode); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); meta_kms_update_assign_plane (update, crtc, primary_plane, @@ -334,7 +334,7 @@ meta_test_kms_device_power_save (void) crtc = meta_get_test_kms_crtc (device); connector = meta_get_test_kms_connector (device); mode = meta_kms_connector_get_preferred_mode (connector); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); primary_buffer = meta_create_test_mode_dumb_buffer (device, mode); /* @@ -480,8 +480,8 @@ meta_test_kms_device_discard_disabled (void) crtc = meta_get_test_kms_crtc (device); connector = meta_get_test_kms_connector (device); mode = meta_kms_connector_get_preferred_mode (connector); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); - cursor_plane = meta_kms_device_get_cursor_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); + cursor_plane = meta_get_cursor_test_plane_for (device, crtc); device_pool = meta_backend_native_get_device_pool (backend_native); device_file = meta_device_pool_open (device_pool, @@ -659,7 +659,7 @@ meta_test_kms_device_empty_update (void) crtc = meta_get_test_kms_crtc (device); connector = meta_get_test_kms_connector (device); mode = meta_kms_connector_get_preferred_mode (connector); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); primary_buffer = meta_create_test_mode_dumb_buffer (device, mode); /* diff --git a/src/tests/native-kms-updates.c b/src/tests/native-kms-updates.c index 72da729c0..9bdb43ed4 100644 --- a/src/tests/native-kms-updates.c +++ b/src/tests/native-kms-updates.c @@ -88,7 +88,7 @@ populate_update (MetaKmsUpdate *update, *buffer = meta_create_test_mode_dumb_buffer (device, mode); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); meta_kms_update_assign_plane (update, crtc, primary_plane, @@ -142,10 +142,10 @@ meta_test_kms_update_plane_assignments (void) crtc = meta_get_test_kms_crtc (device); connector = meta_get_test_kms_connector (device); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); g_assert_nonnull (primary_plane); - cursor_plane = meta_kms_device_get_cursor_plane_for (device, crtc); + cursor_plane = meta_get_cursor_test_plane_for (device, crtc); g_assert_nonnull (cursor_plane); mode = meta_kms_connector_get_preferred_mode (connector); @@ -380,7 +380,7 @@ meta_test_kms_update_page_flip (void) primary_buffer1 = meta_create_test_mode_dumb_buffer (device, mode); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); meta_kms_update_assign_plane (update, crtc, primary_plane, @@ -458,8 +458,8 @@ meta_test_kms_update_merge (void) device = meta_get_test_kms_device (test_context); crtc = meta_get_test_kms_crtc (device); connector = meta_get_test_kms_connector (device); - primary_plane = meta_kms_device_get_primary_plane_for (device, crtc); - cursor_plane = meta_kms_device_get_cursor_plane_for (device, crtc); + primary_plane = meta_get_primary_test_plane_for (device, crtc); + cursor_plane = meta_get_cursor_test_plane_for (device, crtc); mode = meta_kms_connector_get_preferred_mode (connector);