[igt-dev] [PATCH] tests/kms_prime: Filter out devices that can't import buffers.
Mark Yacoub
markyacoub at chromium.org
Mon Jun 14 16:41:34 UTC 2021
Some devices such as amdgpu do not support imported buffers.
Filter out those devices.
Tested on Zork with chromeos-kernel-5_4.
Signed-off-by: Mark Yacoub <markyacoub at chromium.org>
---
tests/kms_prime.c | 14 ++++++++++++--
1 file changed, 12 insertions(+), 2 deletions(-)
diff --git a/tests/kms_prime.c b/tests/kms_prime.c
index 8cb2ca2a..480c7eb4 100644
--- a/tests/kms_prime.c
+++ b/tests/kms_prime.c
@@ -249,6 +249,16 @@ static void test_crc(int exporter_fd, int importer_fd)
igt_display_fini(&display);
}
+/* The test attempts to import the buffer object from one device to another.
+ * Filter out devices that aren't capable of doing this.
+ */
+bool does_device_support_dmabuf_import(int fd) {
+ /* AMDGPU uses VRAM. Any use of the fb will migrate it to VRAM, which is not sensible for
+ * an imported dma-buf.
+ */
+ return !is_amdgpu_device(fd);
+}
+
igt_main
{
igt_fixture
@@ -262,10 +272,10 @@ igt_main
/* ANY = anything that is not VGEM */
first_fd = __drm_open_driver_another(0, DRIVER_ANY | DRIVER_VGEM);
- igt_require(first_fd >= 0);
+ igt_require(first_fd >= 0 && does_device_support_dmabuf_import(first_fd));
second_fd = __drm_open_driver_another(1, DRIVER_ANY | DRIVER_VGEM);
- igt_require(second_fd >= 0);
+ igt_require(second_fd >= 0 && does_device_support_dmabuf_import(second_fd));
if (has_prime_export(first_fd) &&
has_prime_import(second_fd))
--
2.32.0.272.g935e593368-goog
More information about the igt-dev
mailing list