]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
Temporarily fix Vulkan build
authorMathieu Baudier <redacted>
Fri, 10 Oct 2025 13:47:30 +0000 (15:47 +0200)
committerMathieu Baudier <redacted>
Fri, 10 Oct 2025 13:47:30 +0000 (15:47 +0200)
debian/patches/0002-revert-vulkan-dynamic-dispatcher.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0002-revert-vulkan-dynamic-dispatcher.patch b/debian/patches/0002-revert-vulkan-dynamic-dispatcher.patch
new file mode 100644 (file)
index 0000000..5262d97
--- /dev/null
@@ -0,0 +1,52 @@
+From: Mathieu Baudier <mbaudier@argeo.org>
+Date: Fri, 10 Oct 2025 15:38:31 +0200
+Subject: revert-vulkan-dynamic-dispatcher
+
+---
+ src/ggml-vulkan/ggml-vulkan.cpp | 16 ++++------------
+ 1 file changed, 4 insertions(+), 12 deletions(-)
+
+diff --git a/src/ggml-vulkan/ggml-vulkan.cpp b/src/ggml-vulkan/ggml-vulkan.cpp
+index 2608cbd..1296caf 100644
+--- a/src/ggml-vulkan/ggml-vulkan.cpp
++++ b/src/ggml-vulkan/ggml-vulkan.cpp
+@@ -7,14 +7,12 @@
+ // See https://github.com/KhronosGroup/Vulkan-Hpp?tab=readme-ov-file#extensions--per-device-function-pointers-
+ #define VULKAN_HPP_DISPATCH_LOADER_DYNAMIC 1
+-// We use VULKAN_HPP_DEFAULT_DISPATCHER, but not VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
+-// to avoid conflicts with applications or other libraries who might use it.
+-namespace vk::detail { class DispatchLoaderDynamic; }
+-vk::detail::DispatchLoaderDynamic & ggml_vk_default_dispatcher();
+-#define VULKAN_HPP_DEFAULT_DISPATCHER ggml_vk_default_dispatcher()
+ #include <vulkan/vulkan.hpp>
++// See https://github.com/KhronosGroup/Vulkan-Hpp?tab=readme-ov-file#extensions--per-device-function-pointers-
++VULKAN_HPP_DEFAULT_DISPATCH_LOADER_DYNAMIC_STORAGE
++
+ #include <algorithm>
+ #include <cmath>
+ #include <iomanip>
+@@ -4538,12 +4536,6 @@ static bool ggml_vk_instance_portability_enumeration_ext_available(const std::ve
+ static bool ggml_vk_instance_debug_utils_ext_available(const std::vector<vk::ExtensionProperties> & instance_extensions);
+ static bool ggml_vk_device_is_supported(const vk::PhysicalDevice & vkdev);
+-static vk::detail::DispatchLoaderDynamic ggml_vk_default_dispatcher_instance;
+-
+-vk::detail::DispatchLoaderDynamic & ggml_vk_default_dispatcher() {
+-    return ggml_vk_default_dispatcher_instance;
+-}
+-
+ static void ggml_vk_instance_init() {
+     if (vk_instance_initialized) {
+         return;
+@@ -4551,7 +4543,7 @@ static void ggml_vk_instance_init() {
+     VK_LOG_DEBUG("ggml_vk_instance_init()");
+     // See https://github.com/KhronosGroup/Vulkan-Hpp?tab=readme-ov-file#extensions--per-device-function-pointers-
+-    ggml_vk_default_dispatcher_instance.init(vkGetInstanceProcAddr);
++    VULKAN_HPP_DEFAULT_DISPATCHER.init(vkGetInstanceProcAddr);
+     uint32_t api_version = vk::enumerateInstanceVersion();
index b9192bb51eeea7a5fa77009a29c4e8db3227783a..96e9c39870011e708399394ccf00277fe4d60ed7 100644 (file)
@@ -1 +1,2 @@
 0001-improve-cmake-build.patch
+0002-revert-vulkan-dynamic-dispatcher.patch