diff options
author | Bastiaan Olij <mux213@gmail.com> | 2023-10-31 21:56:23 +1100 |
---|---|---|
committer | Bastiaan Olij <mux213@gmail.com> | 2024-01-08 21:51:04 +1100 |
commit | d6caa69e116c2b631a177448c4e15e9689c19a82 (patch) | |
tree | 07b7266fdc25a9f9850e7e67cb7e8b5bc2580feb /servers/rendering/rendering_device.cpp | |
parent | c8c483cf57a768110fce57e509f9b855e69d34b7 (diff) | |
download | redot-engine-d6caa69e116c2b631a177448c4e15e9689c19a82.tar.gz |
Skip swapchain logic if there is nothing to present (Android OpenXR)
Diffstat (limited to 'servers/rendering/rendering_device.cpp')
-rw-r--r-- | servers/rendering/rendering_device.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/servers/rendering/rendering_device.cpp b/servers/rendering/rendering_device.cpp index 30bf47a096..9e7c32094b 100644 --- a/servers/rendering/rendering_device.cpp +++ b/servers/rendering/rendering_device.cpp @@ -5467,9 +5467,13 @@ void RenderingDevice::swap_buffers() { context->postpare_buffers(frames[frame].draw_command_buffer); _finalize_command_bufers(); - screen_prepared = false; // Swap buffers. - context->swap_buffers(); + if (!screen_prepared) { + context->flush(true, true, false); + } else { + screen_prepared = false; + context->swap_buffers(); + } frame = (frame + 1) % frame_count; |