vkd3d: Always enqueue signal operations, even when they can be executed right away.

This commit is contained in:
Giovanni Mascellani 2023-03-02 12:04:57 +01:00 committed by Alexandre Julliard
parent 0d329ba168
commit 9eba44396a
Notes: Alexandre Julliard 2023-03-08 21:51:20 +01:00
Approved-by: Conor McCarthy (@cmccarthy)
Approved-by: Henri Verbeet (@hverbeet)
Approved-by: Alexandre Julliard (@julliard)
Merge-Request: https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/94

View File

@ -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;