From eb95a959bc8170686f509b9fb8d524bcf59a686a Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sat, 27 Dec 2025 20:50:13 -0800 Subject: [PATCH] Thunks/Vulkan: Update for v1.4.337 Fixes DXVK/vkd3d-proton on newer mesa. --- ThunkLibs/libvulkan/libvulkan_interface.cpp | 119 ++++++++++++++++++-- 1 file changed, 110 insertions(+), 9 deletions(-) diff --git a/ThunkLibs/libvulkan/libvulkan_interface.cpp b/ThunkLibs/libvulkan/libvulkan_interface.cpp index 363a737a9..90388ee41 100644 --- a/ThunkLibs/libvulkan/libvulkan_interface.cpp +++ b/ThunkLibs/libvulkan/libvulkan_interface.cpp @@ -56,6 +56,8 @@ template<> struct fex_gen_type : fexgen::opaque_type {}; template<> struct fex_gen_type : fexgen::opaque_type {}; +template<> +struct fex_gen_type : fexgen::opaque_type {}; // Mark union types with compatible layout as such // TODO: These may still have different alignment requirements! @@ -2436,6 +2438,8 @@ struct fex_gen_config {}; template<> struct fex_gen_config {}; template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; @@ -2446,6 +2450,8 @@ struct fex_gen_config {}; template<> struct fex_gen_config {}; template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; @@ -2467,6 +2473,12 @@ template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; #endif template<> struct fex_gen_config : fexgen::custom_host_impl {}; @@ -2668,6 +2680,14 @@ struct fex_gen_config {}; template<> struct fex_gen_config {}; template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; @@ -2769,18 +2789,25 @@ template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; +// These CUDA functions conflict with another extension. +// template<> +// struct fex_gen_config {}; +// template<> +// struct fex_gen_config {}; +// template<> +// struct fex_gen_config {}; +// template<> +// struct fex_gen_config {}; +// template<> +// struct fex_gen_config {}; +// template<> +// struct fex_gen_config {}; template<> -struct fex_gen_config {}; +struct fex_gen_config {}; template<> -struct fex_gen_config {}; +struct fex_gen_config {}; template<> -struct fex_gen_config {}; -template<> -struct fex_gen_config {}; -template<> -struct fex_gen_config {}; -template<> -struct fex_gen_config {}; +struct fex_gen_config {}; #endif template<> struct fex_gen_config {}; @@ -2974,6 +3001,32 @@ struct fex_gen_config {}; template<> struct fex_gen_config {}; template<> +struct fex_gen_config {}; +#endif +template<> +struct fex_gen_config {}; +#ifndef IS_32BIT_THUNK +template<> +struct fex_gen_config {}; +#endif +template<> +struct fex_gen_config {}; +#ifndef IS_32BIT_THUNK +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; @@ -3019,11 +3072,51 @@ template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +#endif +template<> +struct fex_gen_config {}; +#ifndef IS_32BIT_THUNK +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; #endif template<> struct fex_gen_config {}; #ifndef IS_32BIT_THUNK template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +#endif +template<> +struct fex_gen_config {}; +#ifndef IS_32BIT_THUNK +template<> +struct fex_gen_config {}; +#endif +template<> +struct fex_gen_config {}; +#ifndef IS_32BIT_THUNK +template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {}; @@ -3052,6 +3145,14 @@ struct fex_gen_config {}; template<> struct fex_gen_config {}; template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> +struct fex_gen_config {}; +template<> struct fex_gen_config {}; template<> struct fex_gen_config {};