From: Dave Airlie Date: Mon, 6 Nov 2017 00:35:17 +0000 (+0000) Subject: radv: free attachments on end command buffer. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=f0ae06a13c1a60f58de77401f705eaf620b5b822;p=mesa.git radv: free attachments on end command buffer. If we allocate attachments in the begin command buffer due to the render pass continue bit, we were leaking them. Since renderpasses inside a cmd buffer malloc/free these properly, and set to NULL, we just need to call free at end. Fixes a memory leak with multithreading demo. Reviewed-by: Bas Nieuwenhuizen Cc: "17.2 17.3" Signed-off-by: Dave Airlie --- diff --git a/src/amd/vulkan/radv_cmd_buffer.c b/src/amd/vulkan/radv_cmd_buffer.c index 43505a3372a..1e5c73ea588 100644 --- a/src/amd/vulkan/radv_cmd_buffer.c +++ b/src/amd/vulkan/radv_cmd_buffer.c @@ -2509,6 +2509,8 @@ VkResult radv_EndCommandBuffer( si_emit_cache_flush(cmd_buffer); } + vk_free(&cmd_buffer->pool->alloc, cmd_buffer->state.attachments); + if (!cmd_buffer->device->ws->cs_finalize(cmd_buffer->cs)) return VK_ERROR_OUT_OF_DEVICE_MEMORY;