From 57ea8e4a469dbe9d54d6843ef04a4c9a5407423e Mon Sep 17 00:00:00 2001 From: Boris Brezillon Date: Mon, 11 Dec 2023 15:14:26 +0100 Subject: [PATCH] panvk: Transition panvk_descriptor_set to panvk_priv_bo Signed-off-by: Boris Brezillon Reviewed-by: Constantine Shablya Reviewed-by: Erik Faye-Lund Part-of: --- src/panfrost/vulkan/panvk_descriptor_set.c | 4 +--- src/panfrost/vulkan/panvk_private.h | 2 +- src/panfrost/vulkan/panvk_vX_descriptor_set.c | 11 +++++------ 3 files changed, 7 insertions(+), 10 deletions(-) diff --git a/src/panfrost/vulkan/panvk_descriptor_set.c b/src/panfrost/vulkan/panvk_descriptor_set.c index 89af66c7d00..cc65dae4e33 100644 --- a/src/panfrost/vulkan/panvk_descriptor_set.c +++ b/src/panfrost/vulkan/panvk_descriptor_set.c @@ -36,8 +36,6 @@ #include "vk_descriptors.h" #include "vk_util.h" -#include "pan_bo.h" - /* FIXME: make sure those values are correct */ #define PANVK_MAX_TEXTURES (1 << 16) #define PANVK_MAX_IMAGES (1 << 8) @@ -301,7 +299,7 @@ panvk_descriptor_set_destroy(struct panvk_device *device, vk_free(&device->vk.alloc, set->img_fmts); vk_free(&device->vk.alloc, set->img_attrib_bufs); if (set->desc_bo) - panfrost_bo_unreference(set->desc_bo); + panvk_priv_bo_destroy(set->desc_bo, NULL); vk_object_free(&device->vk, NULL, set); } diff --git a/src/panfrost/vulkan/panvk_private.h b/src/panfrost/vulkan/panvk_private.h index 3c5836c329a..b84c461a2db 100644 --- a/src/panfrost/vulkan/panvk_private.h +++ b/src/panfrost/vulkan/panvk_private.h @@ -371,7 +371,7 @@ struct panvk_descriptor_set { void *img_attrib_bufs; uint32_t *img_fmts; - struct panfrost_bo *desc_bo; + struct panvk_priv_bo *desc_bo; }; #define MAX_SETS 4 diff --git a/src/panfrost/vulkan/panvk_vX_descriptor_set.c b/src/panfrost/vulkan/panvk_vX_descriptor_set.c index a3de1b4e1ca..e2471d08991 100644 --- a/src/panfrost/vulkan/panvk_vX_descriptor_set.c +++ b/src/panfrost/vulkan/panvk_vX_descriptor_set.c @@ -40,7 +40,6 @@ #include "vk_descriptors.h" #include "vk_util.h" -#include "pan_bo.h" #include "panvk_cs.h" #define PANVK_DESCRIPTOR_ALIGN 8 @@ -303,14 +302,14 @@ panvk_per_arch(descriptor_set_create)( if (layout->desc_ubo_size) { set->desc_bo = - panfrost_bo_create(&device->pdev, - layout->desc_ubo_size, 0, "Descriptor set"); + panvk_priv_bo_create(device, layout->desc_ubo_size, 0, NULL, + VK_SYSTEM_ALLOCATION_SCOPE_OBJECT); if (!set->desc_bo) goto err_free_set; struct mali_uniform_buffer_packed *ubos = set->ubos; - panvk_per_arch(emit_ubo)(set->desc_bo->ptr.gpu, layout->desc_ubo_size, + panvk_per_arch(emit_ubo)(set->desc_bo->addr.dev, layout->desc_ubo_size, &ubos[layout->desc_ubo_index]); } @@ -337,7 +336,7 @@ err_free_set: vk_free(&device->vk.alloc, set->img_fmts); vk_free(&device->vk.alloc, set->img_attrib_bufs); if (set->desc_bo) - panfrost_bo_unreference(set->desc_bo); + panvk_priv_bo_destroy(set->desc_bo, NULL); vk_object_free(&device->vk, NULL, set); return vk_error(device, VK_ERROR_OUT_OF_HOST_MEMORY); } @@ -383,7 +382,7 @@ panvk_desc_ubo_data(struct panvk_descriptor_set *set, uint32_t binding, const struct panvk_descriptor_set_binding_layout *binding_layout = &set->layout->bindings[binding]; - return (char *)set->desc_bo->ptr.cpu + binding_layout->desc_ubo_offset + + return (char *)set->desc_bo->addr.host + binding_layout->desc_ubo_offset + elem * binding_layout->desc_ubo_stride; }