From 4e428d6174964a659a4a20cf89f59f4014b97461 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Tue, 13 Jan 2026 11:56:17 +0000 Subject: [PATCH 1/3] Bump to upstream plume --- MarathonRecomp/gpu/video.cpp | 9 ++++++++- thirdparty/plume | 2 +- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/MarathonRecomp/gpu/video.cpp b/MarathonRecomp/gpu/video.cpp index 145358ff..42b7356a 100644 --- a/MarathonRecomp/gpu/video.cpp +++ b/MarathonRecomp/gpu/video.cpp @@ -2061,7 +2061,14 @@ bool Video::CreateHostDevice(const char *sdlVideoDriver, bool graphicsApiRetry) break; } - g_swapChain = g_queue->createSwapChain(GameWindow::s_renderWindow, bufferCount, BACKBUFFER_FORMAT, Config::MaxFrameLatency); + RenderSwapChainDesc swapChainDesc; + swapChainDesc.renderWindow = GameWindow::s_renderWindow; + swapChainDesc.textureCount = bufferCount; + swapChainDesc.format = BACKBUFFER_FORMAT; + swapChainDesc.maxFrameLatency = Config::MaxFrameLatency; + swapChainDesc.enablePresentWait = g_capabilities.presentWait; + + g_swapChain = g_queue->createSwapChain(swapChainDesc); g_swapChain->setVsyncEnabled(Config::VSync); g_swapChainValid = !g_swapChain->needsResize(); diff --git a/thirdparty/plume b/thirdparty/plume index 898904ef..dea63d3d 160000 --- a/thirdparty/plume +++ b/thirdparty/plume @@ -1 +1 @@ -Subproject commit 898904ef249f1834ac67ae3fbb2e3fac265088bf +Subproject commit dea63d3d6b70dd8d242dd16b4c767ce887215bb7 From 2aa433cc09f23889006923844c27a18a111bdd07 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Tue, 13 Jan 2026 13:34:32 +0000 Subject: [PATCH 2/3] Fix Plume variable renames --- MarathonRecomp/gpu/video.cpp | 4 ++-- MarathonRecomp/ui/game_window.cpp | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/MarathonRecomp/gpu/video.cpp b/MarathonRecomp/gpu/video.cpp index 42b7356a..664b81ad 100644 --- a/MarathonRecomp/gpu/video.cpp +++ b/MarathonRecomp/gpu/video.cpp @@ -131,14 +131,14 @@ namespace plume #ifdef MARATHON_RECOMP_METAL extern std::unique_ptr CreateMetalInterface(); #endif -#ifdef SDL_VULKAN_ENABLED +#ifdef PLUME_SDL_VULKAN_ENABLED extern std::unique_ptr CreateVulkanInterface(RenderWindow sdlWindow); #else extern std::unique_ptr CreateVulkanInterface(); #endif static std::unique_ptr CreateVulkanInterfaceWrapper() { -#ifdef SDL_VULKAN_ENABLED +#ifdef PLUME_SDL_VULKAN_ENABLED return CreateVulkanInterface(GameWindow::s_renderWindow); #else return CreateVulkanInterface(); diff --git a/MarathonRecomp/ui/game_window.cpp b/MarathonRecomp/ui/game_window.cpp index a11e23df..6cfb64da 100644 --- a/MarathonRecomp/ui/game_window.cpp +++ b/MarathonRecomp/ui/game_window.cpp @@ -212,7 +212,7 @@ void GameWindow::Init(const char* sdlVideoDriver) DWM_WINDOW_CORNER_PREFERENCE wcp = DWMWCP_DONOTROUND; DwmSetWindowAttribute(s_renderWindow, DWMWA_WINDOW_CORNER_PREFERENCE, &wcp, sizeof(wcp)); } -#elif defined(SDL_VULKAN_ENABLED) +#elif defined(PLUME_SDL_VULKAN_ENABLED) s_renderWindow = s_pWindow; #elif defined(__linux__) s_renderWindow = { info.info.x11.display, info.info.x11.window }; @@ -439,7 +439,7 @@ uint32_t GameWindow::GetWindowFlags() if (Config::Fullscreen) flags |= SDL_WINDOW_FULLSCREEN_DESKTOP; -#ifdef SDL_VULKAN_ENABLED +#ifdef PLUME_SDL_VULKAN_ENABLED flags |= SDL_WINDOW_VULKAN; #endif From 3ea25ed533aa632ab03e724fc4087dcf8ea85390 Mon Sep 17 00:00:00 2001 From: Isaac Marovitz Date: Tue, 13 Jan 2026 18:26:18 +0000 Subject: [PATCH 3/3] Add missed changes --- thirdparty/CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index 894129e5..eccab829 100644 --- a/thirdparty/CMakeLists.txt +++ b/thirdparty/CMakeLists.txt @@ -16,11 +16,11 @@ set(SDL2MIXER_VORBIS "VORBISFILE") set(SDL2MIXER_WAVPACK OFF) if (CMAKE_SYSTEM_NAME MATCHES "Linux") - set(SDL_VULKAN_ENABLED ON CACHE BOOL "") + set(PLUME_SDL_VULKAN_ENABLED ON CACHE BOOL "") endif() if (WIN32) - set(D3D12_AGILITY_SDK_ENABLED ON CACHE BOOL "") + set(PLUME_D3D12_AGILITY_SDK_ENABLED ON CACHE BOOL "") endif() if (APPLE AND CMAKE_OSX_ARCHITECTURES)