[Intel-gfx] [PATCH igt] igt/prime_mmap: Test for userptr support first

Chris Wilson chris at chris-wilson.co.uk
Thu Apr 12 18:08:23 UTC 2018


Before we start trying to use userptr to test interoperability with
PRIME, we first need to check that the device in question has userptr
support.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=106013
Signed-off-by: Chris Wilson <chris at chris-wilson.co.uk>
---
 tests/prime_mmap.c | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/tests/prime_mmap.c b/tests/prime_mmap.c
index 0da0aa68..67a6a232 100644
--- a/tests/prime_mmap.c
+++ b/tests/prime_mmap.c
@@ -307,6 +307,19 @@ static int prime_handle_to_fd_no_assert(uint32_t handle, int flags, int *fd_out)
 	return ret;
 }
 
+static bool has_userptr(void)
+{
+	uint32_t handle = 0;
+	void *ptr;
+
+	igt_assert(posix_memalign(&ptr, 4096, 4096) == 0);
+	if ( __gem_userptr(fd, ptr, 4096, 0, 0, &handle) == 0)
+		gem_close(fd, handle);
+	free(ptr);
+
+	return handle;
+}
+
 /* test for mmap(dma_buf_export(userptr)) */
 static void
 test_userptr(void)
@@ -315,6 +328,8 @@ test_userptr(void)
 	void *ptr;
 	uint32_t handle;
 
+	igt_require(has_userptr());
+
 	/* create userptr bo */
 	ret = posix_memalign(&ptr, 4096, BO_SIZE);
 	igt_assert_eq(ret, 0);
-- 
2.17.0



More information about the Intel-gfx mailing list