return ptr;
}
+void *
+vk_object_multialloc(struct vk_device *device,
+ struct vk_multialloc *ma,
+ const VkAllocationCallbacks *alloc,
+ VkObjectType obj_type)
+{
+ void *ptr = vk_multialloc_alloc2(ma, &device->alloc, alloc,
+ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
+ if (ptr == NULL)
+ return NULL;
+
+ vk_object_base_init(device, (struct vk_object_base *)ptr, obj_type);
+
+ return ptr;
+}
+
+void *
+vk_object_multizalloc(struct vk_device *device,
+ struct vk_multialloc *ma,
+ const VkAllocationCallbacks *alloc,
+ VkObjectType obj_type)
+{
+ void *ptr = vk_multialloc_alloc2(ma, &device->alloc, alloc,
+ VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
+ if (ptr == NULL)
+ return NULL;
+
+ memset(ptr, 0, ma->size);
+ vk_object_base_init(device, (struct vk_object_base *)ptr, obj_type);
+
+ return ptr;
+}
+
void
vk_object_free(struct vk_device *device,
const VkAllocationCallbacks *alloc,
size_t size,
VkObjectType vk_obj_type);
+struct vk_multialloc;
+
+void *
+vk_object_multialloc(struct vk_device *device,
+ struct vk_multialloc *ma,
+ const VkAllocationCallbacks *alloc,
+ VkObjectType vk_obj_type);
+
+void *
+vk_object_multizalloc(struct vk_device *device,
+ struct vk_multialloc *ma,
+ const VkAllocationCallbacks *alloc,
+ VkObjectType vk_obj_type);
+
void
vk_object_free(struct vk_device *device,
const VkAllocationCallbacks *alloc,