This commit is contained in:
riperiperi 2024-09-01 20:15:45 +01:00
commit 63515c9b6c
2 changed files with 14 additions and 13 deletions

View file

@ -9,6 +9,8 @@ namespace Ryujinx.Graphics.Vulkan.MoltenVK
[SupportedOSPlatform("macos")] [SupportedOSPlatform("macos")]
public static partial class MVKInitialization public static partial class MVKInitialization
{ {
private const string VulkanLib = "libvulkan.dylib";
[LibraryImport("libMoltenVK.dylib")] [LibraryImport("libMoltenVK.dylib")]
private static partial Result vkGetMoltenVKConfigurationMVK(IntPtr unusedInstance, out MVKConfiguration config, in IntPtr configSize); private static partial Result vkGetMoltenVKConfigurationMVK(IntPtr unusedInstance, out MVKConfiguration config, in IntPtr configSize);
@ -31,20 +33,19 @@ namespace Ryujinx.Graphics.Vulkan.MoltenVK
vkSetMoltenVKConfigurationMVK(IntPtr.Zero, config, configSize); vkSetMoltenVKConfigurationMVK(IntPtr.Zero, config, configSize);
} }
public static void InitializeResolver() private static string[] Resolver(string path)
{ {
Func<string, string[]> mvkResolver = (string path) => if (path.EndsWith(VulkanLib))
{ {
if (path.EndsWith("libvulkan.dylib")) path = path[..^VulkanLib.Length] + "libMoltenVK.dylib";
{ return [path];
path = path.Substring(0, path.Length - "libvulkan.dylib".Length) + "libMoltenVK.dylib"; }
return [ path ]; return Array.Empty<string>();
} }
return Array.Empty<string>(); public static void InitializeResolver()
}; {
((DefaultPathResolver)PathResolver.Default).Resolvers.Insert(0, Resolver);
((DefaultPathResolver)PathResolver.Default).Resolvers.Insert(0, mvkResolver);
} }
} }
} }

View file

@ -1,4 +1,4 @@
using CommandLine; using CommandLine;
using LibHac.Tools.FsSystem; using LibHac.Tools.FsSystem;
using Ryujinx.Audio.Backends.SDL2; using Ryujinx.Audio.Backends.SDL2;
using Ryujinx.Common; using Ryujinx.Common;