summaryrefslogtreecommitdiff
path: root/libavutil/vulkan_functions.h
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2021-11-13 18:59:07 +0100
committerTimo Rothenpieler <timo@rothenpieler.org>2021-11-14 12:50:32 +0100
commitfedf4ff85c325fa164a5646785104aaa292c877b (patch)
tree3506826cc6e2eef2bdb0ade2652edb82ba35e944 /libavutil/vulkan_functions.h
parentbfbd5954e50e407693932b3900ca77c3daee26d7 (diff)
downloadffmpeg-fedf4ff85c325fa164a5646785104aaa292c877b.tar.gz
avutil/vulkan: load win32 external memory functions
Diffstat (limited to 'libavutil/vulkan_functions.h')
-rw-r--r--libavutil/vulkan_functions.h12
1 files changed, 12 insertions, 0 deletions
diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h
index 913667befb..f6881d8959 100644
--- a/libavutil/vulkan_functions.h
+++ b/libavutil/vulkan_functions.h
@@ -27,6 +27,10 @@ typedef enum FFVulkanExtensions {
FF_VK_EXT_EXTERNAL_FD_SEM = 1ULL << 3, /* VK_KHR_external_semaphore_fd */
FF_VK_EXT_EXTERNAL_HOST_MEMORY = 1ULL << 4, /* VK_EXT_external_memory_host */
FF_VK_EXT_DEBUG_UTILS = 1ULL << 5, /* VK_EXT_debug_utils */
+#ifdef _WIN32
+ FF_VK_EXT_EXTERNAL_WIN32_MEMORY = 1ULL << 6, /* VK_KHR_external_memory_win32 */
+ FF_VK_EXT_EXTERNAL_WIN32_SEM = 1ULL << 7, /* VK_KHR_external_semaphore_win32 */
+#endif
FF_VK_EXT_NO_FLAG = 1ULL << 63,
} FFVulkanExtensions;
@@ -151,6 +155,11 @@ typedef enum FFVulkanExtensions {
MACRO(1, 1, FF_VK_EXT_NO_FLAG, CreateShaderModule) \
MACRO(1, 1, FF_VK_EXT_NO_FLAG, DestroyShaderModule)
+/* Macro containing every win32 specific function that we utilize in our codebase */
+#define FN_LIST_WIN32(MACRO) \
+ MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_SEM, GetSemaphoreWin32HandleKHR) \
+ MACRO(1, 1, FF_VK_EXT_EXTERNAL_WIN32_MEMORY, GetMemoryWin32HandleKHR)
+
/* Macro to turn a function name into a definition */
#define PFN_DEF(req_inst, req_dev, ext_flag, name) \
PFN_vk##name name;
@@ -158,6 +167,9 @@ typedef enum FFVulkanExtensions {
/* Structure with the definition of all listed functions */
typedef struct FFVulkanFunctions {
FN_LIST(PFN_DEF)
+#ifdef _WIN32
+ FN_LIST_WIN32(PFN_DEF)
+#endif
} FFVulkanFunctions;
#endif /* AVUTIL_VULKAN_FUNCTIONS_H */