From fa869fb9b454e8dbdcb1b1251728a287452df5c8 Mon Sep 17 00:00:00 2001 From: Iago Toral Quiroga Date: Wed, 4 Nov 2020 10:39:12 +0100 Subject: [PATCH] v3dv: add a v3dv_bo_init helper MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Reviewed-by: Alejandro Piñeiro Part-of: --- src/broadcom/vulkan/v3dv_bo.c | 29 ++++++++++++++++++++--------- src/broadcom/vulkan/v3dv_bo.h | 2 ++ src/broadcom/vulkan/v3dv_device.c | 8 +------- 3 files changed, 23 insertions(+), 16 deletions(-) diff --git a/src/broadcom/vulkan/v3dv_bo.c b/src/broadcom/vulkan/v3dv_bo.c index ed82315..86d9f36 100644 --- a/src/broadcom/vulkan/v3dv_bo.c +++ b/src/broadcom/vulkan/v3dv_bo.c @@ -175,6 +175,25 @@ bo_cache_free_all(struct v3dv_device *device, } +void +v3dv_bo_init(struct v3dv_bo *bo, + uint32_t handle, + uint32_t size, + uint32_t offset, + const char *name, + bool private) +{ + bo->handle = handle; + bo->size = size; + bo->offset = offset; + bo->map = NULL; + bo->map_size = 0; + bo->name = name; + bo->private = private; + bo->dumb_handle = -1; + list_inithead(&bo->list_link); +} + struct v3dv_bo * v3dv_bo_alloc(struct v3dv_device *device, uint32_t size, @@ -231,15 +250,7 @@ v3dv_bo_alloc(struct v3dv_device *device, assert(create.offset % page_align == 0); assert((create.offset & 0xffffffff) == create.offset); - bo->handle = create.handle; - bo->size = size; - bo->offset = create.offset; - bo->map = NULL; - bo->map_size = 0; - bo->name = name; - bo->private = private; - bo->dumb_handle = -1; - list_inithead(&bo->list_link); + v3dv_bo_init(bo, create.handle, size, create.offset, name, private); device->bo_count++; device->bo_size += bo->size; diff --git a/src/broadcom/vulkan/v3dv_bo.h b/src/broadcom/vulkan/v3dv_bo.h index 6b18c0d..fd6754c 100644 --- a/src/broadcom/vulkan/v3dv_bo.h +++ b/src/broadcom/vulkan/v3dv_bo.h @@ -58,6 +58,8 @@ struct v3dv_bo { int32_t dumb_handle; }; +void v3dv_bo_init(struct v3dv_bo *bo, uint32_t handle, uint32_t size, uint32_t offset, const char *name, bool private); + struct v3dv_bo *v3dv_bo_alloc(struct v3dv_device *device, uint32_t size, const char *name, bool private); bool v3dv_bo_free(struct v3dv_device *device, struct v3dv_bo *bo); diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index a5f002b..c76741a 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1562,13 +1562,7 @@ device_import_bo(struct v3dv_device *device, } assert(get_offset.offset != 0); - (*bo)->handle = handle; - (*bo)->size = size; - (*bo)->offset = get_offset.offset; - (*bo)->map = NULL; - (*bo)->map_size = 0; - (*bo)->private = false; - (*bo)->dumb_handle = -1; + v3dv_bo_init(*bo, handle, size, get_offset.offset, "import", false); return VK_SUCCESS; -- 2.7.4