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

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Mon Apr 16 10:16:58 UTC 2018


On 12/04/2018 19:08, Chris Wilson wrote:
> 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);
> 

Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>

Regards,

Tvrtko


More information about the Intel-gfx mailing list