Fix loading screen graphical artifacts on window resize
Some checks are pending
Build / Build (arm64) (push) Waiting to run
Build / Build (x86-64) (push) Waiting to run
Build / Build (macOS arm64) (push) Waiting to run
Build / Build (windows-arm64) (push) Waiting to run
Build / Build (windows-x86-64) (push) Waiting to run
Security / CodeQL (C/C++) (push) Waiting to run
Security / Semgrep (push) Waiting to run
Security / Sanitizer Build (ASan/UBSan) (push) Waiting to run

Recreate Vulkan swapchain in LoadingScreen::render() when the dirty flag
is set, so resizing the window during world loading no longer renders
into a stale swapchain with mismatched framebuffers.
This commit is contained in:
Kelsi 2026-02-25 03:45:13 -08:00
parent 4c8fa9f1fe
commit 570dec8b88
3 changed files with 15 additions and 0 deletions

View file

@ -4,6 +4,8 @@
#include <string>
#include <vector>
struct SDL_Window;
namespace wowee {
namespace rendering {
@ -27,11 +29,13 @@ public:
// Must be set before initialize() for Vulkan texture upload
void setVkContext(VkContext* ctx) { vkCtx = ctx; }
void setSDLWindow(SDL_Window* win) { sdlWindow = win; }
private:
bool loadImage(const std::string& path);
VkContext* vkCtx = nullptr;
SDL_Window* sdlWindow = nullptr;
// Vulkan texture for background image
VkImage bgImage = VK_NULL_HANDLE;