Skip to content

Commit

Permalink
Avoid freeze when interacting with menus on Wayland by re-aquiring ne…
Browse files Browse the repository at this point in the history
…xt swapchain image after updating swapchain
  • Loading branch information
clayjohn committed Jul 7, 2023
1 parent 9d089fe commit df021b5
Showing 1 changed file with 5 additions and 3 deletions.
8 changes: 5 additions & 3 deletions drivers/vulkan/vulkan_context.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -1818,7 +1818,7 @@ Error VulkanContext::_update_swap_chain(Window *window) {
if (window->width == 0 || window->height == 0) {
free(presentModes);
// Likely window minimized, no swapchain created.
return OK;
return ERR_SKIP;
}
// The FIFO present mode is guaranteed by the spec to be supported
// and to have no tearing. It's a great default present mode to use.
Expand Down Expand Up @@ -2275,8 +2275,10 @@ Error VulkanContext::prepare_buffers() {
// Swapchain is not as optimal as it could be, but the platform's
// presentation engine will still present the image correctly.
print_verbose("Vulkan: Early suboptimal swapchain, recreating.");
_update_swap_chain(w);
break;
Error swap_chain_err = _update_swap_chain(w);
if (swap_chain_err == ERR_SKIP) {
break;
}
} else if (err != VK_SUCCESS) {
ERR_BREAK_MSG(err != VK_SUCCESS, "Vulkan: Did not create swapchain successfully. Error code: " + String(string_VkResult(err)));
} else {
Expand Down

0 comments on commit df021b5

Please sign in to comment.