diff options
author | Emmanuel Hansen <emmausssss@gmail.com> | 2022-08-16 16:32:37 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-08-16 16:32:37 +0000 |
commit | c8f9292babd5aa6021ce1bd6a977130baebb7de3 (patch) | |
tree | e6e62d79d08726129485476078732f9b89f6ab5c /Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs | |
parent | 0ec933a6152ebb7724da1e3a05a5ae1c2ea07b2f (diff) |
Avalonia - Couple fixes and improvements to vulkan (#3483)1.1.219
* drop split devices, rebase
* add fallback to opengl if vulkan is not available
* addressed review
* ensure present image references are incremented and decremented when necessary
* allow changing vsync for vulkan
* fix screenshot on avalonia vulkan
* save favorite when toggled
* improve sync between popups
* use separate devices for each new window
* fix crash when closing window
* addressed review
* don't create the main window with immediate mode
* change skia vk delegate to method
* update vulkan throwonerror
* addressed review
Diffstat (limited to 'Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs | 12 |
1 files changed, 1 insertions, 11 deletions
diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs index 47a07949..ff8d9328 100644 --- a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs +++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanPlatformInterface.cs @@ -18,13 +18,11 @@ namespace Ryujinx.Ava.Ui.Vulkan public VulkanPhysicalDevice PhysicalDevice { get; private set; } public VulkanInstance Instance { get; } - public VulkanDevice Device { get; set; } public Vk Api { get; private set; } public VulkanSurfaceRenderTarget MainSurface { get; set; } public void Dispose() { - Device?.Dispose(); Instance?.Dispose(); Api?.Dispose(); } @@ -54,16 +52,9 @@ namespace Ryujinx.Ava.Ui.Vulkan { var surface = VulkanSurface.CreateSurface(Instance, platformSurface); - if (Device == null) + if (PhysicalDevice == null) { PhysicalDevice = VulkanPhysicalDevice.FindSuitablePhysicalDevice(Instance, surface, _options.PreferDiscreteGpu, _options.PreferredDevice); - var device = VulkanInitialization.CreateDevice(Instance.Api, - PhysicalDevice.InternalHandle, - PhysicalDevice.QueueFamilyIndex, - VulkanInitialization.GetSupportedExtensions(Instance.Api, PhysicalDevice.InternalHandle), - PhysicalDevice.QueueCount); - - Device = new VulkanDevice(device, PhysicalDevice, Instance.Api); } var renderTarget = new VulkanSurfaceRenderTarget(this, surface); @@ -71,7 +62,6 @@ namespace Ryujinx.Ava.Ui.Vulkan if (MainSurface == null && surface != null) { MainSurface = renderTarget; - MainSurface.Display.ChangeVSyncMode(false); } return renderTarget; |