Mesa (main): anv: Don't call DestroyCommandBuffers in AllocateCommandBuffers

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Fri Feb 11 08:46:49 UTC 2022


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

Author: Jason Ekstrand <jason.ekstrand at collabora.com>
Date:   Mon Feb  7 15:19:25 2022 -0600

anv: Don't call DestroyCommandBuffers in AllocateCommandBuffers

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/14917>

---

 src/intel/vulkan/anv_cmd_buffer.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/intel/vulkan/anv_cmd_buffer.c b/src/intel/vulkan/anv_cmd_buffer.c
index b06db9ac08f..924f966ebf1 100644
--- a/src/intel/vulkan/anv_cmd_buffer.c
+++ b/src/intel/vulkan/anv_cmd_buffer.c
@@ -261,6 +261,8 @@ anv_cmd_state_reset(struct anv_cmd_buffer *cmd_buffer)
    anv_cmd_state_init(cmd_buffer);
 }
 
+static void anv_cmd_buffer_destroy(struct anv_cmd_buffer *cmd_buffer);
+
 static VkResult anv_create_cmd_buffer(
     struct anv_device *                         device,
     struct anv_cmd_pool *                       pool,
@@ -339,8 +341,10 @@ VkResult anv_AllocateCommandBuffers(
    }
 
    if (result != VK_SUCCESS) {
-      anv_FreeCommandBuffers(_device, pAllocateInfo->commandPool,
-                             i, pCommandBuffers);
+      while (i--) {
+         ANV_FROM_HANDLE(anv_cmd_buffer, cmd_buffer, pCommandBuffers[i]);
+         anv_cmd_buffer_destroy(cmd_buffer);
+      }
       for (i = 0; i < pAllocateInfo->commandBufferCount; i++)
          pCommandBuffers[i] = VK_NULL_HANDLE;
    }



More information about the mesa-commit mailing list