From a8950d6ac4c4d4e8b3884f799566603db2d9c406 Mon Sep 17 00:00:00 2001 From: Mary Date: Mon, 8 May 2023 13:05:37 +0200 Subject: vulkan: Pass Vk instance to VulkanRenderer (#4859) This will allow possible multiple driver selection without any need of LD preload. (useful when testing custom version of mesa for example) --- src/Ryujinx.Headless.SDL2/Program.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/Ryujinx.Headless.SDL2/Program.cs') diff --git a/src/Ryujinx.Headless.SDL2/Program.cs b/src/Ryujinx.Headless.SDL2/Program.cs index 453c470e..643db845 100644 --- a/src/Ryujinx.Headless.SDL2/Program.cs +++ b/src/Ryujinx.Headless.SDL2/Program.cs @@ -487,11 +487,12 @@ namespace Ryujinx.Headless.SDL2 if (options.GraphicsBackend == GraphicsBackend.Vulkan && window is VulkanWindow vulkanWindow) { string preferredGpuId = string.Empty; + Vk api = Vk.GetApi(); if (!string.IsNullOrEmpty(options.PreferredGpuVendor)) { string preferredGpuVendor = options.PreferredGpuVendor.ToLowerInvariant(); - var devices = VulkanRenderer.GetPhysicalDevices(); + var devices = VulkanRenderer.GetPhysicalDevices(api); foreach (var device in devices) { @@ -504,6 +505,7 @@ namespace Ryujinx.Headless.SDL2 } return new VulkanRenderer( + api, (instance, vk) => new SurfaceKHR((ulong)(vulkanWindow.CreateWindowSurface(instance.Handle))), vulkanWindow.GetRequiredInstanceExtensions, preferredGpuId); -- cgit v1.2.3