mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-05 05:18:08 +02:00
venus: fix all missing vn_object_base_fini
Signed-off-by: Yiwei Zhang <zzyiwei@chromium.org> Reviewed-by: Chia-I Wu <olvaffe@gmail.com> Reviewed-by: Ryan Neph <ryanneph@google.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12498>
This commit is contained in:
parent
c600494a8e
commit
b816167312
6 changed files with 11 additions and 0 deletions
|
|
@ -42,6 +42,7 @@ vn_buffer_create(struct vn_device *dev,
|
|||
result = vn_call_vkCreateBuffer(dev->instance, device, create_info, NULL,
|
||||
&buffer);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&buf->base);
|
||||
vk_free(alloc, buf);
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -542,6 +542,7 @@ vn_AllocateCommandBuffers(VkDevice device,
|
|||
cmd = vn_command_buffer_from_handle(pCommandBuffers[j]);
|
||||
vn_cs_encoder_fini(&cmd->cs);
|
||||
list_del(&cmd->head);
|
||||
vn_object_base_fini(&cmd->base);
|
||||
vk_free(alloc, cmd);
|
||||
}
|
||||
memset(pCommandBuffers, 0,
|
||||
|
|
|
|||
|
|
@ -252,6 +252,7 @@ vn_AllocateDescriptorSets(VkDevice device,
|
|||
for (uint32_t j = 0; j < i; j++) {
|
||||
set = vn_descriptor_set_from_handle(pDescriptorSets[j]);
|
||||
list_del(&set->head);
|
||||
vn_object_base_fini(&set->base);
|
||||
vk_free(alloc, set);
|
||||
}
|
||||
memset(pDescriptorSets, 0,
|
||||
|
|
@ -276,6 +277,7 @@ vn_AllocateDescriptorSets(VkDevice device,
|
|||
struct vn_descriptor_set *set =
|
||||
vn_descriptor_set_from_handle(pDescriptorSets[i]);
|
||||
list_del(&set->head);
|
||||
vn_object_base_fini(&set->base);
|
||||
vk_free(alloc, set);
|
||||
}
|
||||
memset(pDescriptorSets, 0,
|
||||
|
|
|
|||
|
|
@ -48,6 +48,7 @@ vn_device_memory_simple_alloc(struct vn_device *dev,
|
|||
},
|
||||
NULL, &mem_handle);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&mem->base);
|
||||
vk_free(alloc, mem);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -61,6 +62,7 @@ vn_device_memory_simple_alloc(struct vn_device *dev,
|
|||
if (result != VK_SUCCESS) {
|
||||
vn_async_vkFreeMemory(dev->instance, vn_device_to_handle(dev),
|
||||
mem_handle, NULL);
|
||||
vn_object_base_fini(&mem->base);
|
||||
vk_free(alloc, mem);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -370,6 +372,7 @@ vn_AllocateMemory(VkDevice device,
|
|||
mem_type->propertyFlags, 0);
|
||||
}
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&mem->base);
|
||||
vk_free(alloc, mem);
|
||||
return vn_error(dev->instance, result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -191,6 +191,7 @@ vn_image_create(struct vn_device *dev,
|
|||
|
||||
result = vn_image_init(dev, create_info, img);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&img->base);
|
||||
vk_free(alloc, img);
|
||||
return result;
|
||||
}
|
||||
|
|
@ -227,6 +228,7 @@ vn_image_create_deferred(struct vn_device *dev,
|
|||
result = vn_image_store_deferred_create_info(create_info, alloc,
|
||||
&img->deferred_info);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&img->base);
|
||||
vk_free(alloc, img);
|
||||
return result;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -493,6 +493,7 @@ vn_CreateFence(VkDevice device,
|
|||
VkResult result = vn_fence_init_payloads(
|
||||
dev, fence, pCreateInfo->flags & VK_FENCE_CREATE_SIGNALED_BIT, alloc);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&fence->base);
|
||||
vk_free(alloc, fence);
|
||||
return vn_error(dev->instance, result);
|
||||
}
|
||||
|
|
@ -816,6 +817,7 @@ vn_CreateSemaphore(VkDevice device,
|
|||
|
||||
VkResult result = vn_semaphore_init_payloads(dev, sem, initial_val, alloc);
|
||||
if (result != VK_SUCCESS) {
|
||||
vn_object_base_fini(&sem->base);
|
||||
vk_free(alloc, sem);
|
||||
return vn_error(dev->instance, result);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue