Mesa (main): vulkan/wsi: fix extra free if buffer_blit_queue
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Fri May 27 09:42:21 UTC 2022
Module: Mesa
Branch: main
Commit: 1a8b03732fd08f594fb81d575335db93949a6193
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1a8b03732fd08f594fb81d575335db93949a6193
Author: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu at amd.com>
Date: Sat May 21 23:22:21 2022 +0530
vulkan/wsi: fix extra free if buffer_blit_queue
In wsi_destroy_image(), if buffer_blit_queue then
do not call extra free. This will fix assert in
debug release and accessing out of allocated memory.
Fixes:
7bd5aa111cf
("vulkan/wsi: add a private transfer pool to exec the DRI_PRIME blit")
Signed-off-by: Yogesh Mohan Marimuthu <yogesh.mohanmarimuthu at amd.com>
Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Reviewed-by: Samuel Pitoiset's avatarSamuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16649>
---
src/vulkan/wsi/wsi_common.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/src/vulkan/wsi/wsi_common.c b/src/vulkan/wsi/wsi_common.c
index 0b48f16a0b2..6aeb146c98f 100644
--- a/src/vulkan/wsi/wsi_common.c
+++ b/src/vulkan/wsi/wsi_common.c
@@ -524,7 +524,10 @@ wsi_destroy_image(const struct wsi_swapchain *chain,
#endif
if (image->buffer.blit_cmd_buffers) {
- for (uint32_t i = 0; i < wsi->queue_family_count; i++) {
+ int cmd_buffer_count =
+ chain->buffer_blit_queue != VK_NULL_HANDLE ? 1 : wsi->queue_family_count;
+
+ for (uint32_t i = 0; i < cmd_buffer_count; i++) {
wsi->FreeCommandBuffers(chain->device, chain->cmd_pools[i],
1, &image->buffer.blit_cmd_buffers[i]);
}
More information about the mesa-commit
mailing list