]> git.tdb.fi Git - libs/gl.git/commitdiff
Call Renderer::begin before acquiring an image from the swapchain
authorMikko Rasa <tdb@tdb.fi>
Tue, 13 Aug 2024 12:29:55 +0000 (15:29 +0300)
committerMikko Rasa <tdb@tdb.fi>
Tue, 13 Aug 2024 12:29:55 +0000 (15:29 +0300)
This fixes a validation error about a semaphore having pending operations
when vkAcquireNextImage is called.

source/backends/vulkan/windowview_backend.cpp

index e91518a0a5e12f5e2b6a3ba7e00f365e9125d5e0..adc66f13364e5b06e29bc598b4616b327708a84a 100644 (file)
@@ -16,13 +16,13 @@ void VulkanWindowView::render()
 {
        Device &device = static_cast<const WindowView *>(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<Renderer>();
+
+       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]);