Mesa (main): venus: fix all missing vn_object_base_fini

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon Aug 23 19:03:57 UTC 2021


Module: Mesa
Branch: main
Commit: b816167312315f5840fbff38207a97aee75e3ec1
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=b816167312315f5840fbff38207a97aee75e3ec1

Author: Yiwei Zhang <zzyiwei at chromium.org>
Date:   Sat Aug 21 22:21:17 2021 +0000

venus: fix all missing vn_object_base_fini

Signed-off-by: Yiwei Zhang <zzyiwei at chromium.org>
Reviewed-by: Chia-I Wu <olvaffe at gmail.com>
Reviewed-by: Ryan Neph <ryanneph at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/12498>

---

 src/virtio/vulkan/vn_buffer.c         | 1 +
 src/virtio/vulkan/vn_command_buffer.c | 1 +
 src/virtio/vulkan/vn_descriptor_set.c | 2 ++
 src/virtio/vulkan/vn_device_memory.c  | 3 +++
 src/virtio/vulkan/vn_image.c          | 2 ++
 src/virtio/vulkan/vn_queue.c          | 2 ++
 6 files changed, 11 insertions(+)

diff --git a/src/virtio/vulkan/vn_buffer.c b/src/virtio/vulkan/vn_buffer.c
index cb65c2d29f1..766fb3ad05a 100644
--- a/src/virtio/vulkan/vn_buffer.c
+++ b/src/virtio/vulkan/vn_buffer.c
@@ -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;
    }
diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c
index de6bd7cac05..6ee5237b32a 100644
--- a/src/virtio/vulkan/vn_command_buffer.c
+++ b/src/virtio/vulkan/vn_command_buffer.c
@@ -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,
diff --git a/src/virtio/vulkan/vn_descriptor_set.c b/src/virtio/vulkan/vn_descriptor_set.c
index d50c07056f9..d5d0f484c4d 100644
--- a/src/virtio/vulkan/vn_descriptor_set.c
+++ b/src/virtio/vulkan/vn_descriptor_set.c
@@ -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,
diff --git a/src/virtio/vulkan/vn_device_memory.c b/src/virtio/vulkan/vn_device_memory.c
index d244f109e39..89226dde332 100644
--- a/src/virtio/vulkan/vn_device_memory.c
+++ b/src/virtio/vulkan/vn_device_memory.c
@@ -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);
    }
diff --git a/src/virtio/vulkan/vn_image.c b/src/virtio/vulkan/vn_image.c
index 76fbd3fb05b..88a3c7bce77 100644
--- a/src/virtio/vulkan/vn_image.c
+++ b/src/virtio/vulkan/vn_image.c
@@ -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;
    }
diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c
index 2f067f1f581..062aa43d5e8 100644
--- a/src/virtio/vulkan/vn_queue.c
+++ b/src/virtio/vulkan/vn_queue.c
@@ -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);
    }



More information about the mesa-commit mailing list