diff --git a/include/nvrhi/vulkan.h b/include/nvrhi/vulkan.h index 4aceb28..2dde77a 100644 --- a/include/nvrhi/vulkan.h +++ b/include/nvrhi/vulkan.h @@ -78,6 +78,8 @@ namespace nvrhi::vulkan // Indicates if VkPhysicalDeviceVulkan12Features::bufferDeviceAddress was set to 'true' at device creation time bool bufferDeviceAddressSupported = false; bool aftermathEnabled = false; + + std::string vulkanLibraryName; // if empty, use default }; NVRHI_API DeviceHandle createDevice(const DeviceDesc& desc); diff --git a/src/vulkan/vulkan-device.cpp b/src/vulkan/vulkan-device.cpp index 53e655a..234525f 100644 --- a/src/vulkan/vulkan-device.cpp +++ b/src/vulkan/vulkan-device.cpp @@ -37,9 +37,9 @@ namespace nvrhi::vulkan { #if defined(NVRHI_SHARED_LIBRARY_BUILD) #if VK_HEADER_VERSION >= 301 - vk::detail::DynamicLoader dl; + vk::detail::DynamicLoader dl(desc.vulkanLibraryName); #else - vk::DynamicLoader dl; + vk::DynamicLoader dl(desc.vulkanLibraryName); #endif const PFN_vkGetInstanceProcAddr vkGetInstanceProcAddr = // NOLINT(misc-misplaced-const) dl.getProcAddress("vkGetInstanceProcAddr");