]> git.tdb.fi Git - libs/gl.git/blobdiff - source/backends/vulkan/renderer_backend.cpp
Submit commands for isolated offscreen rendering
[libs/gl.git] / source / backends / vulkan / renderer_backend.cpp
index d1788461185066ac67e04e315031bef4dad9e3ac..ab77158a1d52e3cf6d8acf6d25bbbe78998fb669 100644 (file)
@@ -4,6 +4,12 @@
 namespace Msp {
 namespace GL {
 
+void VulkanRenderer::begin()
+{
+       begin_semaphore = 0;
+       end_semaphore = 0;
+}
+
 void VulkanRenderer::begin(Semaphore &sem)
 {
        static_cast<Renderer *>(this)->begin();
@@ -13,14 +19,15 @@ void VulkanRenderer::begin(Semaphore &sem)
 
 void VulkanRenderer::end()
 {
-       static_cast<Renderer *>(this)->commands.use_pipeline(0);
+       Renderer &self = *static_cast<Renderer *>(this);
+       self.commands.use_pipeline(0);
+       self.commands.submit_frame(begin_semaphore, end_semaphore);
 }
 
 void VulkanRenderer::end(Semaphore &sem)
 {
-       Renderer &self = *static_cast<Renderer *>(this);
-       self.end();
-       self.commands.submit_frame(begin_semaphore, &sem);
+       end_semaphore = &sem;
+       static_cast<Renderer *>(this)->end();
 }
 
 } // namespace GL