summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/amd/vulkan/radv_wsi.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/amd/vulkan/radv_wsi.c b/src/amd/vulkan/radv_wsi.c
index 1f1ab1c800b..2eb8e458c78 100644
--- a/src/amd/vulkan/radv_wsi.c
+++ b/src/amd/vulkan/radv_wsi.c
@@ -362,7 +362,15 @@ VkResult radv_QueuePresentKHR(
1, &swapchain->fences[0]);
}
- radv_QueueSubmit(_queue, 0, NULL, swapchain->fences[0]);
+ RADV_FROM_HANDLE(radv_fence, fence, swapchain->fences[0]);
+ struct radeon_winsys_fence *base_fence = fence->fence;
+ struct radeon_winsys_ctx *ctx = queue->device->hw_ctx;
+ queue->device->ws->cs_submit(ctx, queue->queue_idx,
+ &queue->device->empty_cs[queue->queue_family_index],
+ 1,
+ (struct radeon_winsys_sem **)pPresentInfo->pWaitSemaphores,
+ pPresentInfo->waitSemaphoreCount, NULL, 0, false, base_fence);
+ fence->submitted = true;
result = swapchain->queue_present(swapchain,
pPresentInfo->pImageIndices[i]);