diff options
author | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2024-07-09 17:10:25 +0200 |
---|---|---|
committer | Hugo Locurcio <hugo.locurcio@hugo.pro> | 2024-07-09 17:12:54 +0200 |
commit | cf2d2e2dd84e52ba4f7d687932e8195e08264b1d (patch) | |
tree | e4bd7f3e72b2b37a41ccc87c0b0e4bad9de8f70d /servers/rendering/rendering_device.cpp | |
parent | 26d1577f3985363faab48a65e9a0d9eed0e26d86 (diff) | |
download | redot-engine-cf2d2e2dd84e52ba4f7d687932e8195e08264b1d.tar.gz |
Silence Vulkan "Unable to acquire framebuffer." swapchain error
This error is harmless and can be safely ignored.
Diffstat (limited to 'servers/rendering/rendering_device.cpp')
-rw-r--r-- | servers/rendering/rendering_device.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/servers/rendering/rendering_device.cpp b/servers/rendering/rendering_device.cpp index 801ad1b825..c65d3bec95 100644 --- a/servers/rendering/rendering_device.cpp +++ b/servers/rendering/rendering_device.cpp @@ -3500,7 +3500,12 @@ Error RenderingDevice::screen_prepare_for_drawing(DisplayServer::WindowID p_scre framebuffer = driver->swap_chain_acquire_framebuffer(main_queue, it->value, resize_required); } - ERR_FAIL_COND_V_MSG(framebuffer.id == 0, FAILED, "Unable to acquire framebuffer."); + if (framebuffer.id == 0) { + // Some drivers like NVIDIA are fast enough to invalidate the swap chain between resizing and acquisition (GH-94104). + // This typically occurs during continuous window resizing operations, especially if done quickly. + // Allow this to fail silently since it has no visual consequences. + return ERR_CANT_CREATE; + } // Store the framebuffer that will be used next to draw to this screen. screen_framebuffers[p_screen] = framebuffer; |