diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2020-10-15 12:04:10 +0200 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2020-10-15 12:29:42 +0200 |
commit | 148ad49c939f2413532ebecf92b60ce8dbc8cb8b (patch) | |
tree | 304312bd872998f9f65ed86d416440bb0c01f378 /thirdparty/vulkan/patches | |
parent | b84f9b00681526afe39484129672e21917659084 (diff) |
vulkan: Sync loader, headers and glslang to sdk-1.2.154.0
Actually sdk-1.2.154.1 for Vulkan-Loader.
glslang is updated to bacaef3237c515e40d1a24722be48c0a0b30f75f which is the
known-good version for Vulkan-ValidationLayers 1.2.154.0.
COPYRIGHT.txt was synced with the current version of the glslang LICENSE.txt,
and `glslang/register_types.cpp` now uses the upstream definition for its
default builtin resource instead of hardcoding it.
Diffstat (limited to 'thirdparty/vulkan/patches')
-rw-r--r-- | thirdparty/vulkan/patches/Vulkan-Loader-revert-pr260.patch | 57 |
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; |