From 4055a92856ddd2a182caec467b2ea8e42bc20bdb Mon Sep 17 00:00:00 2001 From: Ethan Lee Date: Thu, 7 Dec 2023 23:57:02 -0500 Subject: [PATCH] [wsi] Add init/quit functions, integrate them into DxvkInstance. This is preparation for loading/unloading WSI backends at runtime, which will be in an upcoming commit. --- src/dxvk/dxvk_instance.cpp | 5 +++++ src/wsi/meson.build | 1 + src/wsi/wsi_platform.cpp | 11 +++++++++++ src/wsi/wsi_platform.h | 7 +++++++ 4 files changed, 24 insertions(+) create mode 100644 src/wsi/wsi_platform.cpp diff --git a/src/dxvk/dxvk_instance.cpp b/src/dxvk/dxvk_instance.cpp index bc204d3a6..76ba78c54 100644 --- a/src/dxvk/dxvk_instance.cpp +++ b/src/dxvk/dxvk_instance.cpp @@ -4,6 +4,7 @@ #include "dxvk_openvr.h" #include "dxvk_openxr.h" #include "dxvk_platform_exts.h" +#include "../wsi/wsi_platform.h" #include #include @@ -20,6 +21,8 @@ namespace dxvk { Logger::info(str::format("Game: ", env::getExeName())); Logger::info(str::format("DXVK: ", DXVK_VERSION)); + wsi::init(); + m_config = Config::getUserConfig(); m_config.merge(Config::getAppConfig(env::getExePath())); m_config.logOptions(); @@ -64,6 +67,8 @@ namespace dxvk { DxvkInstance::~DxvkInstance() { if (m_messenger) m_vki->vkDestroyDebugUtilsMessengerEXT(m_vki->instance(), m_messenger, nullptr); + + wsi::quit(); } diff --git a/src/wsi/meson.build b/src/wsi/meson.build index 27603ceab..372ae0375 100644 --- a/src/wsi/meson.build +++ b/src/wsi/meson.build @@ -1,5 +1,6 @@ wsi_common_src = [ 'wsi_edid.cpp', + 'wsi_platform.cpp', ] wsi_win32_src = [ diff --git a/src/wsi/wsi_platform.cpp b/src/wsi/wsi_platform.cpp new file mode 100644 index 000000000..56cd6c45b --- /dev/null +++ b/src/wsi/wsi_platform.cpp @@ -0,0 +1,11 @@ +#include "wsi_platform.h" + +namespace dxvk::wsi { + + void init() { + } + + void quit() { + } + +} diff --git a/src/wsi/wsi_platform.h b/src/wsi/wsi_platform.h index 38b5c5aa1..0c94a3fa6 100644 --- a/src/wsi/wsi_platform.h +++ b/src/wsi/wsi_platform.h @@ -7,3 +7,10 @@ #elif defined(DXVK_WSI_GLFW) #include "glfw/wsi_platform_glfw.h" #endif + +namespace dxvk::wsi { + + void init(); + void quit(); + +}