Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/doitsujin/dxvk.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJoshua Ashton <joshua@froggi.es>2023-08-23 16:07:45 +0300
committerPhilip Rebohle <25567304+doitsujin@users.noreply.github.com>2023-08-23 17:50:52 +0300
commitc26f40229aa6265b7ed62ffceee7cc94fe1f63a5 (patch)
treed4ba3b58d36a264593e5e289909a749c4e65b004
parent82266902985ce5802290f1adca89c38c1364cbc0 (diff)
[vulkan] Query wine_vk{Acquire,Release}KeyedMutex
Non-standard functions, but exposed by winevulkan to support keyed mutexes. Co-authored-by: Paul Gofman <pgofman@codeweavers.com>
-rw-r--r--src/vulkan/vulkan_loader.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/vulkan/vulkan_loader.h b/src/vulkan/vulkan_loader.h
index a8c450ce..185779e5 100644
--- a/src/vulkan/vulkan_loader.h
+++ b/src/vulkan/vulkan_loader.h
@@ -9,6 +9,9 @@
#define VULKAN_FN(name) \
::PFN_ ## name name = reinterpret_cast<::PFN_ ## name>(sym(#name))
+using PFN_wine_vkAcquireKeyedMutex = VkResult (VKAPI_PTR *)(VkDevice device, VkDeviceMemory memory, uint64_t key, uint32_t timeout_ms);
+using PFN_wine_vkReleaseKeyedMutex = VkResult (VKAPI_PTR *)(VkDevice device, VkDeviceMemory memory, uint64_t key);
+
namespace dxvk::vk {
/**
@@ -436,6 +439,12 @@ namespace dxvk::vk {
#ifdef VK_KHR_PRESENT_WAIT_EXTENSION_NAME
VULKAN_FN(vkWaitForPresentKHR);
#endif
+
+ #ifdef VK_KHR_win32_keyed_mutex
+ // Wine additions to actually use this extension.
+ VULKAN_FN(wine_vkAcquireKeyedMutex);
+ VULKAN_FN(wine_vkReleaseKeyedMutex);
+ #endif
};
}