Quick answer: Vulkan game showing stretched/squashed image after window resize? Swapchain wasn't recreated for new size - listen for VK_ERROR_OUT_OF_DATE_KHR and recreate.
Resize the window. Render area scales but doesn't refit; image stretches.
Recreate on out-of-date
if (result == VK_ERROR_OUT_OF_DATE_KHR) {
RecreateSwapchain();
}Listen for the error; rebuild swapchain at new size.
Or rebuild on size change
Hook OS resize events; trigger swapchain recreation. Doesn't rely on the error.
Maintain aspect ratio
Even with correct swapchain, aspect ratio is a project decision. Letterbox or stretch; pick consistently.
“Swapchains are sized at creation. Resize is recreation.”
Test window resize across all aspects (portrait, landscape, square). Aspect-related bugs surface during the transition.