diff options
| author | Charles Giessen <charles@lunarg.com> | 2025-04-10 15:59:30 -0500 |
|---|---|---|
| committer | Charles Giessen <46324611+charles-lunarg@users.noreply.github.com> | 2025-04-11 15:13:14 -0600 |
| commit | 5d93833059364050429835b80809cdcc94633ed5 (patch) | |
| tree | 4ac26ed9635b906e6029cd78402b4782a38c7d5f /cube/cube.cpp | |
| parent | 5394fd5dd5edbd3d14e263b7883a40c2193ee296 (diff) | |
| download | usermoji-5d93833059364050429835b80809cdcc94633ed5.tar.xz | |
cubepp: Fix incremental present on swapchain recreate
Diffstat (limited to 'cube/cube.cpp')
| -rw-r--r-- | cube/cube.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/cube/cube.cpp b/cube/cube.cpp index 24f7b3f0..7301482f 100644 --- a/cube/cube.cpp +++ b/cube/cube.cpp @@ -500,6 +500,7 @@ struct Demo { vk::PresentModeKHR presentMode = vk::PresentModeKHR::eFifo; std::array<vk::Fence, FRAME_LAG> fences; uint32_t frame_index = 0; + bool first_swapchain_frame; vk::CommandPool cmd_pool; vk::CommandPool present_cmd_pool; @@ -880,6 +881,7 @@ void Demo::draw() { auto present_result = present_queue.presentKHR(&presentInfo); frame_index += 1; frame_index %= FRAME_LAG; + first_swapchain_frame = false; if (present_result == vk::Result::eErrorOutOfDateKHR) { // swapchain is out of date (e.g. the window was resized) and // must be recreated: @@ -2076,6 +2078,7 @@ void Demo::init_vk_swapchain() { color_space = surfaceFormat.colorSpace; quit = false; + first_swapchain_frame = true; curFrame = 0; // Create semaphores to synchronize acquiring presentable buffers before @@ -2167,6 +2170,7 @@ void Demo::prepare() { current_buffer = 0; prepared = true; + first_swapchain_frame = true; } void Demo::prepare_buffers() { |
