From 0e4ef88d1839eedf5068727fcb85e46312a5a90f Mon Sep 17 00:00:00 2001 From: Philip Rebohle Date: Mon, 15 Mar 2021 12:14:15 +0100 Subject: [PATCH] vkd3d: Don't broadcast semaphore waits when zeroing memory. Instead, let queues wait on demand. Signed-off-by: Philip Rebohle --- libs/vkd3d/memory.c | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/libs/vkd3d/memory.c b/libs/vkd3d/memory.c index 60d155e1..1f9acdc7 100644 --- a/libs/vkd3d/memory.c +++ b/libs/vkd3d/memory.c @@ -920,17 +920,9 @@ static HRESULT vkd3d_memory_allocator_flush_clears_locked(struct vkd3d_memory_al for (i = 0; i < queue_family->queue_count; i++) { - if (!(vk_queue = vkd3d_queue_acquire(queue_family->queues[i]))) - return E_FAIL; - - vr = VK_CALL(vkQueueSubmit(vk_queue, 1, &submit_info, VK_NULL_HANDLE)); - vkd3d_queue_release(queue_family->queues[i]); - - if (vr < 0) - { - ERR("Failed to submit semaphore wait, vr %d.\n", vr); - return hresult_from_vk_result(vr); - } + vkd3d_queue_add_wait(queue_family->queues[i], + clear_queue->vk_semaphore, + clear_queue->next_signal_value); } }