From 9eba44396a00d35366026d5e0ed85d8e6c124ca6 Mon Sep 17 00:00:00 2001 From: Giovanni Mascellani Date: Thu, 2 Mar 2023 12:04:57 +0100 Subject: [PATCH] vkd3d: Always enqueue signal operations, even when they can be executed right away. --- libs/vkd3d/command.c | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/libs/vkd3d/command.c b/libs/vkd3d/command.c index 7b522427..5d8eb3e9 100644 --- a/libs/vkd3d/command.c +++ b/libs/vkd3d/command.c @@ -6274,12 +6274,6 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_queue_Signal(ID3D12CommandQueue * vkd3d_mutex_lock(&command_queue->op_mutex); - if (!command_queue->ops_count) - { - hr = d3d12_command_queue_signal(command_queue, fence, value); - goto done; - } - if (!(op = d3d12_command_queue_require_space_locked(command_queue))) { hr = E_OUTOFMEMORY; @@ -6291,6 +6285,8 @@ static HRESULT STDMETHODCALLTYPE d3d12_command_queue_Signal(ID3D12CommandQueue * d3d12_fence_incref(fence); + d3d12_command_queue_submit_locked(command_queue); + done: vkd3d_mutex_unlock(&command_queue->op_mutex); return hr;