diff --git a/tests/testvirgl.c b/tests/testvirgl.c index f0d44eb..e1c30b9 100644 --- a/tests/testvirgl.c +++ b/tests/testvirgl.c @@ -189,6 +189,32 @@ int testvirgl_create_backed_simple_2d_res(struct virgl_resource *res, return 0; } +int testvirgl_create_backed_simple_1d_res(struct virgl_resource *res, + int handle) +{ + struct virgl_renderer_resource_create_args args; + uint32_t backing_size; + int ret; + + testvirgl_init_simple_1d_resource(&args, handle); + ret = virgl_renderer_resource_create(&args, NULL, 0); + ck_assert_int_eq(ret, 0); + + res->handle = handle; + res->base.target = args.target; + res->base.format = args.format; + + backing_size = args.width * util_format_get_blocksize(res->base.format); + res->iovs = malloc(sizeof(struct iovec)); + + res->iovs[0].iov_base = malloc(backing_size); + res->iovs[0].iov_len = backing_size; + res->niovs = 1; + + virgl_renderer_resource_attach_iov(res->handle, res->iovs, res->niovs); + return 0; +} + void testvirgl_destroy_backed_res(struct virgl_resource *res) { struct iovec *iovs; diff --git a/tests/testvirgl.h b/tests/testvirgl.h index 1b0b3b0..497957e 100644 --- a/tests/testvirgl.h +++ b/tests/testvirgl.h @@ -68,6 +68,8 @@ uint32_t testvirgl_get_last_fence(void); int testvirgl_init_ctx_cmdbuf(struct virgl_context *ctx); void testvirgl_fini_ctx_cmdbuf(struct virgl_context *ctx); +int testvirgl_create_backed_simple_1d_res(struct virgl_resource *res, + int handle); int testvirgl_create_backed_simple_2d_res(struct virgl_resource *res, int handle, int w, int h); int testvirgl_create_backed_simple_buffer(struct virgl_resource *res,