[PATCH v2 1/2] vkd3d: Do not release resources in vkResetCommandPool

Hans-Kristian Arntzen post at arntzen-software.no
Tue Oct 1 09:01:54 CDT 2019


D3D12 command allocators are intended to recycle memory across resets,
so we should do the same thing in vkd3d.

Signed-off-by: Hans-Kristian Arntzen <post at arntzen-software.no>
---
 libs/vkd3d/command.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c
index ae88910..2d6d02d 100644
--- a/libs/vkd3d/command.c
+++ b/libs/vkd3d/command.c
@@ -1648,8 +1648,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_allocator_Reset(ID3D12CommandAllo
         allocator->command_buffer_count = 0;
     }
 
-    if ((vr = VK_CALL(vkResetCommandPool(device->vk_device, allocator->vk_command_pool,
-            VK_COMMAND_POOL_RESET_RELEASE_RESOURCES_BIT))))
+    /* The intent here is to recycle memory, so do not use RELEASE_RESOURCES_BIT here. */
+    if ((vr = VK_CALL(vkResetCommandPool(device->vk_device, allocator->vk_command_pool, 0))))
     {
         WARN("Resetting command pool failed, vr %d.\n", vr);
         return hresult_from_vk_result(vr);
-- 
2.23.0




More information about the wine-devel mailing list