From 59f98997ab315465a052ed11e43ed7f6b0ec708a Mon Sep 17 00:00:00 2001 From: Eric Anholt Date: Mon, 25 Jan 2016 13:15:36 -0800 Subject: igt: Add a helper function for creating VC4 BOs. v2: Use do_ioctl(). Signed-off-by: Eric Anholt Reviewed-by: Daniel Stone --- lib/igt_vc4.c | 20 ++++++++++++++------ 1 file changed, 14 insertions(+), 6 deletions(-) (limited to 'lib/igt_vc4.c') diff --git a/lib/igt_vc4.c b/lib/igt_vc4.c index 8d00764a..894c73aa 100644 --- a/lib/igt_vc4.c +++ b/lib/igt_vc4.c @@ -68,9 +68,7 @@ uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval) /* A single row will be a page. */ uint32_t width = 1024; uint32_t height = size / (width * 4); - struct drm_vc4_create_bo create = { - .size = size, - }; + uint32_t handle = igt_vc4_create_bo(fd, size); struct drm_vc4_submit_cl submit = { .color_write = { .hindex = 0, @@ -84,7 +82,7 @@ uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval) .msaa_color_write = { .hindex = ~0 }, .msaa_zs_write = { .hindex = ~0 }, - .bo_handles = (uint64_t)(uintptr_t)&create.handle, + .bo_handles = (uint64_t)(uintptr_t)&handle, .bo_handle_count = 1, .width = width, .height = height, @@ -96,10 +94,20 @@ uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval) igt_assert_eq_u32(width * height * 4, size); - do_ioctl(fd, DRM_IOCTL_VC4_CREATE_BO, &create); - do_ioctl(fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit); + return handle; +} + +int +igt_vc4_create_bo(int fd, size_t size) +{ + struct drm_vc4_create_bo create = { + .size = size, + }; + + do_ioctl(fd, DRM_IOCTL_VC4_CREATE_BO, &create); + return create.handle; } -- cgit v1.2.3