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@xxxxxxxxxxxxxxxxxx> --- 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 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx