diff options
author | Dave Airlie <[email protected]> | 2017-11-06 00:35:17 +0000 |
---|---|---|
committer | Dave Airlie <[email protected]> | 2017-11-06 01:03:47 +0000 |
commit | f0ae06a13c1a60f58de77401f705eaf620b5b822 (patch) | |
tree | 298dce43ddb8c2370412816fec48279f9bb5934d /src/amd/vulkan | |
parent | 608af05ffbba21fe4dcfa4907d40c7958913d090 (diff) |
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 <[email protected]>
Cc: "17.2 17.3" <[email protected]>
Signed-off-by: Dave Airlie <[email protected]>
Diffstat (limited to 'src/amd/vulkan')
-rw-r--r-- | src/amd/vulkan/radv_cmd_buffer.c | 2 |
1 files changed, 2 insertions, 0 deletions
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; |