diff --git a/src/dxvk/dxvk_adapter.cpp b/src/dxvk/dxvk_adapter.cpp index b3bb96421..ea1423fa8 100644 --- a/src/dxvk/dxvk_adapter.cpp +++ b/src/dxvk/dxvk_adapter.cpp @@ -283,7 +283,7 @@ namespace dxvk { DxvkDeviceFeatures enabledFeatures) { DxvkDeviceExtensions devExtensions; - std::array devExtensionList = {{ + std::array devExtensionList = {{ &devExtensions.amdMemoryOverallocationBehaviour, &devExtensions.amdShaderFragmentMask, &devExtensions.extConservativeRasterization, @@ -300,6 +300,7 @@ namespace dxvk { &devExtensions.extTransformFeedback, &devExtensions.extVertexAttributeDivisor, &devExtensions.khrExternalMemoryWin32, + &devExtensions.khrExternalSemaphoreWin32, &devExtensions.khrPipelineLibrary, &devExtensions.khrSwapchain, &devExtensions.nvxBinaryImport, diff --git a/src/dxvk/dxvk_extensions.h b/src/dxvk/dxvk_extensions.h index cbf4ba09d..ffc7c3730 100644 --- a/src/dxvk/dxvk_extensions.h +++ b/src/dxvk/dxvk_extensions.h @@ -292,6 +292,7 @@ namespace dxvk { DxvkExt extTransformFeedback = { VK_EXT_TRANSFORM_FEEDBACK_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt extVertexAttributeDivisor = { VK_EXT_VERTEX_ATTRIBUTE_DIVISOR_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt khrExternalMemoryWin32 = { VK_KHR_EXTERNAL_MEMORY_WIN32_EXTENSION_NAME, DxvkExtMode::Optional }; + DxvkExt khrExternalSemaphoreWin32 = { VK_KHR_EXTERNAL_SEMAPHORE_WIN32_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt khrPipelineLibrary = { VK_KHR_PIPELINE_LIBRARY_EXTENSION_NAME, DxvkExtMode::Optional }; DxvkExt khrSwapchain = { VK_KHR_SWAPCHAIN_EXTENSION_NAME, DxvkExtMode::Required }; DxvkExt nvxBinaryImport = { VK_NVX_BINARY_IMPORT_EXTENSION_NAME, DxvkExtMode::Disabled }; diff --git a/src/vulkan/vulkan_loader.h b/src/vulkan/vulkan_loader.h index 094f19cc2..47c26eed8 100644 --- a/src/vulkan/vulkan_loader.h +++ b/src/vulkan/vulkan_loader.h @@ -379,6 +379,11 @@ namespace dxvk::vk { VULKAN_FN(vkGetMemoryWin32HandleKHR); VULKAN_FN(vkGetMemoryWin32HandlePropertiesKHR); #endif + + #ifdef VK_KHR_external_semaphore_win32 + VULKAN_FN(vkGetSemaphoreWin32HandleKHR); + VULKAN_FN(vkImportSemaphoreWin32HandleKHR); + #endif }; }