diff --git a/MarathonRecomp/gpu/video.cpp b/MarathonRecomp/gpu/video.cpp index 145358ff..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(); @@ -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/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 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) 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