mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-25 15:10:10 +01:00
vulkan/util: add api to reset object magic + private data.
This will be used to for reissuing dispatchable objects like command buffers. Cc: mesa-stable@lists.freedesktop.org Reviewed-by: Bas Nieuwenhuizen <bas@basnieuwenhuizen.nl> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9145>
This commit is contained in:
parent
5b6ed24cb8
commit
5a340c0929
2 changed files with 16 additions and 2 deletions
|
|
@ -29,15 +29,21 @@
|
|||
#include "util/hash_table.h"
|
||||
#include "util/ralloc.h"
|
||||
|
||||
static void
|
||||
vk_object_base_reinit(struct vk_object_base *base)
|
||||
{
|
||||
base->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
|
||||
util_sparse_array_init(&base->private_data, sizeof(uint64_t), 8);
|
||||
}
|
||||
|
||||
void
|
||||
vk_object_base_init(struct vk_device *device,
|
||||
struct vk_object_base *base,
|
||||
UNUSED VkObjectType obj_type)
|
||||
{
|
||||
base->_loader_data.loaderMagic = ICD_LOADER_MAGIC;
|
||||
vk_object_base_reinit(base);
|
||||
base->type = obj_type;
|
||||
base->device = device;
|
||||
util_sparse_array_init(&base->private_data, sizeof(uint64_t), 8);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -46,6 +52,13 @@ vk_object_base_finish(struct vk_object_base *base)
|
|||
util_sparse_array_finish(&base->private_data);
|
||||
}
|
||||
|
||||
void
|
||||
vk_object_base_reset(struct vk_object_base *base)
|
||||
{
|
||||
vk_object_base_finish(base);
|
||||
vk_object_base_reinit(base);
|
||||
}
|
||||
|
||||
void *
|
||||
vk_object_alloc(struct vk_device *device,
|
||||
const VkAllocationCallbacks *alloc,
|
||||
|
|
|
|||
|
|
@ -52,6 +52,7 @@ void vk_object_base_init(UNUSED struct vk_device *device,
|
|||
struct vk_object_base *base,
|
||||
UNUSED VkObjectType obj_type);
|
||||
void vk_object_base_finish(UNUSED struct vk_object_base *base);
|
||||
void vk_object_base_reset(struct vk_object_base *base);
|
||||
|
||||
static inline void
|
||||
vk_object_base_assert_valid(ASSERTED struct vk_object_base *base,
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue