Signed-off-by: Eric Anholt <eric@xxxxxxxxxx> --- lib/igt_vc4.c | 21 +++++++++++++++------ lib/igt_vc4.h | 1 + tests/vc4_wait_bo.c | 10 ++-------- 3 files changed, 18 insertions(+), 14 deletions(-) diff --git a/lib/igt_vc4.c b/lib/igt_vc4.c index 15804e9..0233f2b 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, @@ -97,10 +95,21 @@ uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval) igt_assert(width * height * 4 == size); - ret = ioctl(fd, DRM_IOCTL_VC4_CREATE_BO, &create); + ret = ioctl(fd, DRM_IOCTL_VC4_SUBMIT_CL, &submit); igt_assert(ret == 0); - ret = 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, + }; + int ret; + + ret = ioctl(fd, DRM_IOCTL_VC4_CREATE_BO, &create); igt_assert(ret == 0); return create.handle; diff --git a/lib/igt_vc4.h b/lib/igt_vc4.h index d428f39..e925246 100644 --- a/lib/igt_vc4.h +++ b/lib/igt_vc4.h @@ -25,6 +25,7 @@ #define IGT_VC4_H uint32_t igt_vc4_get_cleared_bo(int fd, size_t size, uint32_t clearval); +int igt_vc4_create_bo(int fd, size_t size); void *igt_vc4_mmap_bo(int fd, uint32_t handle, uint32_t size, unsigned prot); #endif /* IGT_VC4_H */ diff --git a/tests/vc4_wait_bo.c b/tests/vc4_wait_bo.c index 081ee09..642b941 100644 --- a/tests/vc4_wait_bo.c +++ b/tests/vc4_wait_bo.c @@ -22,6 +22,7 @@ */ #include "igt.h" +#include "igt_vc4.h" #include <unistd.h> #include <stdlib.h> #include <stdio.h> @@ -40,15 +41,8 @@ igt_main int bo_handle; igt_fixture { - struct drm_vc4_create_bo create = { - .size = 4096, - }; - fd = drm_open_driver(DRIVER_VC4); - - ret = ioctl(fd, DRM_IOCTL_VC4_CREATE_BO, &create); - igt_assert(ret == 0); - bo_handle = create.handle; + bo_handle = igt_vc4_create_bo(fd, 4096); } igt_subtest("bad-bo") { -- 2.7.0 _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/intel-gfx