summaryrefslogtreecommitdiff
path: root/thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch
diff options
context:
space:
mode:
Diffstat (limited to 'thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch')
-rw-r--r--thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch57
1 files changed, 0 insertions, 57 deletions
diff --git a/thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch b/thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch
deleted file mode 100644
index 1267e560df..0000000000
--- a/thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/thirdparty/vulkan/loader/loader.c b/thirdparty/vulkan/loader/loader.c
-index 87d08d5116..c7cdb47122 100644
---- a/thirdparty/vulkan/loader/loader.c
-+++ b/thirdparty/vulkan/loader/loader.c
-@@ -7330,7 +7330,7 @@ out:
- return result;
- }
-
--#if defined(_WIN32)
-+#if defined(_WIN32) && defined(LOADER_DYNAMIC_LIB)
- BOOL WINAPI DllMain(HINSTANCE hinst, DWORD reason, LPVOID reserved) {
- switch (reason) {
- case DLL_PROCESS_ATTACH:
-diff --git a/thirdparty/vulkan/loader/loader.h b/thirdparty/vulkan/loader/loader.h
-index 5e9495521b..56745a968d 100644
---- a/thirdparty/vulkan/loader/loader.h
-+++ b/thirdparty/vulkan/loader/loader.h
-@@ -420,6 +420,9 @@ static inline void loader_init_dispatch(void *obj, const void *data) {
- // Global variables used across files
- extern struct loader_struct loader;
- extern THREAD_LOCAL_DECL struct loader_instance *tls_instance;
-+#if defined(_WIN32) && !defined(LOADER_DYNAMIC_LIB)
-+extern LOADER_PLATFORM_THREAD_ONCE_DEFINITION(once_init);
-+#endif
- extern loader_platform_thread_mutex loader_lock;
- extern loader_platform_thread_mutex loader_json_lock;
-
-diff --git a/thirdparty/vulkan/loader/vk_loader_platform.h b/thirdparty/vulkan/loader/vk_loader_platform.h
-index 7824e35d6b..62e8e3ae09 100644
---- a/thirdparty/vulkan/loader/vk_loader_platform.h
-+++ b/thirdparty/vulkan/loader/vk_loader_platform.h
-@@ -330,9 +330,25 @@ typedef HANDLE loader_platform_thread;
- // The once init functionality is not used when building a DLL on Windows. This is because there is no way to clean up the
- // resources allocated by anything allocated by once init. This isn't a problem for static libraries, but it is for dynamic
- // ones. When building a DLL, we use DllMain() instead to allow properly cleaning up resources.
-+#if defined(LOADER_DYNAMIC_LIB)
- #define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var)
- #define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var)
- #define LOADER_PLATFORM_THREAD_ONCE(ctl, func)
-+#else
-+#define LOADER_PLATFORM_THREAD_ONCE_DECLARATION(var) INIT_ONCE var = INIT_ONCE_STATIC_INIT;
-+#define LOADER_PLATFORM_THREAD_ONCE_DEFINITION(var) INIT_ONCE var;
-+#define LOADER_PLATFORM_THREAD_ONCE(ctl, func) loader_platform_thread_once_fn(ctl, func)
-+static BOOL CALLBACK InitFuncWrapper(PINIT_ONCE InitOnce, PVOID Parameter, PVOID *Context) {
-+ void (*func)(void) = (void (*)(void))Parameter;
-+ func();
-+ return TRUE;
-+}
-+static void loader_platform_thread_once_fn(void *ctl, void (*func)(void)) {
-+ assert(func != NULL);
-+ assert(ctl != NULL);
-+ InitOnceExecuteOnce((PINIT_ONCE)ctl, InitFuncWrapper, (void *)func, NULL);
-+}
-+#endif
-
- // Thread IDs:
- typedef DWORD loader_platform_thread_id;