#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
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,
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,