summaryrefslogtreecommitdiffstats
path: root/src/video_core/vulkan_common/vulkan_library.cpp
diff options
context:
space:
mode:
authorliamwhite <liamwhite@users.noreply.github.com>2023-08-22 19:10:26 +0200
committerGitHub <noreply@github.com>2023-08-22 19:10:26 +0200
commitbc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d (patch)
tree7b3354dd90ada7fabb5efa93a5f2a8c8892c6da8 /src/video_core/vulkan_common/vulkan_library.cpp
parentMerge pull request #11303 from lat9nq/screenshots-configurable (diff)
parentAdd macos moltenvk bundle, Add copy moltevk dylib script (diff)
downloadyuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar.gz
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar.bz2
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar.lz
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar.xz
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.tar.zst
yuzu-bc4ad5e62d6d9a8e81a56ce70b33dd3e8ae7bd5d.zip
Diffstat (limited to 'src/video_core/vulkan_common/vulkan_library.cpp')
-rw-r--r--src/video_core/vulkan_common/vulkan_library.cpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/video_core/vulkan_common/vulkan_library.cpp b/src/video_core/vulkan_common/vulkan_library.cpp
index 47f6f2a03..0130f6a0d 100644
--- a/src/video_core/vulkan_common/vulkan_library.cpp
+++ b/src/video_core/vulkan_common/vulkan_library.cpp
@@ -19,13 +19,17 @@ std::shared_ptr<Common::DynamicLibrary> OpenLibrary(
#else
auto library = std::make_shared<Common::DynamicLibrary>();
#ifdef __APPLE__
+ const auto libvulkan_filename =
+ Common::FS::GetBundleDirectory() / "Contents/Frameworks/libvulkan.1.dylib";
+ const auto libmoltenvk_filename =
+ Common::FS::GetBundleDirectory() / "Contents/Frameworks/libMoltenVK.dylib";
+ const char* library_paths[] = {std::getenv("LIBVULKAN_PATH"), libvulkan_filename.c_str(),
+ libmoltenvk_filename.c_str()};
// Check if a path to a specific Vulkan library has been specified.
- char* const libvulkan_env = std::getenv("LIBVULKAN_PATH");
- if (!libvulkan_env || !library->Open(libvulkan_env)) {
- // Use the libvulkan.dylib from the application bundle.
- const auto filename =
- Common::FS::GetBundleDirectory() / "Contents/Frameworks/libvulkan.dylib";
- void(library->Open(Common::FS::PathToUTF8String(filename).c_str()));
+ for (const auto& library_path : library_paths) {
+ if (library_path && library->Open(library_path)) {
+ break;
+ }
}
#else
std::string filename = Common::DynamicLibrary::GetVersionedFilename("vulkan", 1);