diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-08 14:52:07 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-01-08 14:52:07 +0100 |
commit | 25011e9144d8db7987f6ec69dd450a7d34da9f4e (patch) | |
tree | 55a1ca474ee959ad435733df910f2d1d4ac4e825 /servers/rendering/rendering_device.cpp | |
parent | 129332e3b99eb8249da6ce7e52d676dd7f2a5c5a (diff) | |
parent | d6caa69e116c2b631a177448c4e15e9689c19a82 (diff) | |
download | redot-engine-25011e9144d8db7987f6ec69dd450a7d34da9f4e.tar.gz |
Merge pull request #84244 from BastiaanOlij/skip_present_if_needed
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; |