diff options
-rw-r--r-- | src/amd/vulkan/radv_wsi.c | 10 |
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]); |