Skip to content

Commit

Permalink
[vulkan] Allow importing existing Vulkan dispatch tables
Browse files Browse the repository at this point in the history
  • Loading branch information
doitsujin committed Mar 16, 2023
1 parent b06e825 commit f50f5bc
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
9 changes: 8 additions & 1 deletion src/vulkan/vulkan_loader.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -45,8 +45,13 @@ namespace dxvk::vk {
std::tie(m_library, m_getInstanceProcAddr) = loadVulkanLibrary();
}

LibraryLoader::LibraryLoader(PFN_vkGetInstanceProcAddr loaderProc) {
m_getInstanceProcAddr = loaderProc;
}

LibraryLoader::~LibraryLoader() {
FreeLibrary(m_library);
if (m_library)
FreeLibrary(m_library);
}

PFN_vkVoidFunction LibraryLoader::sym(VkInstance instance, const char* name) const {
Expand Down Expand Up @@ -84,6 +89,8 @@ namespace dxvk::vk {


LibraryFn::LibraryFn() { }
LibraryFn::LibraryFn(PFN_vkGetInstanceProcAddr loaderProc)
: LibraryLoader(loaderProc) { }
LibraryFn::~LibraryFn() { }


Expand Down
2 changes: 2 additions & 0 deletions src/vulkan/vulkan_loader.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ namespace dxvk::vk {
*/
struct LibraryLoader : public RcObject {
LibraryLoader();
LibraryLoader(PFN_vkGetInstanceProcAddr loaderProc);
~LibraryLoader();
PFN_vkVoidFunction sym(VkInstance instance, const char* name) const;
PFN_vkVoidFunction sym(const char* name) const;
Expand Down Expand Up @@ -75,6 +76,7 @@ namespace dxvk::vk {
*/
struct LibraryFn : LibraryLoader {
LibraryFn();
LibraryFn(PFN_vkGetInstanceProcAddr loaderProc);
~LibraryFn();

VULKAN_FN(vkCreateInstance);
Expand Down

0 comments on commit f50f5bc

Please sign in to comment.