From c7f8bcb94765b74c2d836652ab7fbbbdbaf5e3da Mon Sep 17 00:00:00 2001 From: Mikko Rasa Date: Tue, 13 Aug 2024 15:29:55 +0300 Subject: [PATCH] Call Renderer::begin before acquiring an image from the swapchain This fixes a validation error about a semaphore having pending operations when vkAcquireNextImage is called. --- source/backends/vulkan/windowview_backend.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/source/backends/vulkan/windowview_backend.cpp b/source/backends/vulkan/windowview_backend.cpp index e91518a0..adc66f13 100644 --- a/source/backends/vulkan/windowview_backend.cpp +++ b/source/backends/vulkan/windowview_backend.cpp @@ -16,13 +16,13 @@ void VulkanWindowView::render() { Device &device = static_cast(this)->device; - Semaphore *sem = semaphores+frame_index*2; - unsigned image_index = swap_chain->begin_frame(sem[0]); - current_target = &framebuffers[image_index]; - if(!internal_renderer) internal_renderer = make_unique(); + + Semaphore *sem = semaphores+frame_index*2; internal_renderer->begin(sem[0]); + unsigned image_index = swap_chain->begin_frame(sem[0]); + current_target = &framebuffers[image_index]; View::render(*internal_renderer); internal_renderer->end(sem[1]); -- 2.45.2