From: Samuel Pitoiset Date: Fri, 10 Jul 2020 15:14:30 +0000 (+0200) Subject: radv: destroy the base object if VkCreateEvent() failed X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=ce7a7aeeccf44fa00fd8157b5e592c4980852f3b;p=mesa.git radv: destroy the base object if VkCreateEvent() failed Signed-off-by: Samuel Pitoiset Reviewed-by: Bas Nieuwenhuizen Part-of: --- diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c index f449199d994..6594b2a00d9 100644 --- a/src/amd/vulkan/radv_device.c +++ b/src/amd/vulkan/radv_device.c @@ -5800,7 +5800,9 @@ static void radv_destroy_event(struct radv_device *device, const VkAllocationCallbacks* pAllocator, struct radv_event *event) { - device->ws->buffer_destroy(event->bo); + if (event->bo) + device->ws->buffer_destroy(event->bo); + vk_object_base_finish(&event->base); vk_free2(&device->vk.alloc, pAllocator, event); } @@ -5826,7 +5828,7 @@ VkResult radv_CreateEvent( RADEON_FLAG_VA_UNCACHED | RADEON_FLAG_CPU_ACCESS | RADEON_FLAG_NO_INTERPROCESS_SHARING, RADV_BO_PRIORITY_FENCE); if (!event->bo) { - vk_free2(&device->vk.alloc, pAllocator, event); + radv_destroy_event(device, pAllocator, event); return vk_error(device->instance, VK_ERROR_OUT_OF_DEVICE_MEMORY); }