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/Program.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/Program.cs')
-rw-r--r-- | Ryujinx.Ava/Program.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/Ryujinx.Ava/Program.cs b/Ryujinx.Ava/Program.cs index be27e9cd..4a546747 100644 --- a/Ryujinx.Ava/Program.cs +++ b/Ryujinx.Ava/Program.cs @@ -94,7 +94,6 @@ namespace Ryujinx.Ava .With(new Ui.Vulkan.VulkanOptions() { ApplicationName = "Ryujinx.Graphics.Vulkan", - VulkanVersion = new Version(1, 2), MaxQueueCount = 2, PreferDiscreteGpu = true, PreferredDevice = !PreviewerDetached ? "" : ConfigurationState.Instance.Graphics.PreferredGpu.Value, @@ -183,6 +182,18 @@ namespace Ryujinx.Ava if (UseVulkan) { + if (VulkanRenderer.GetPhysicalDevices().Length == 0) + { + UseVulkan = false; + + ConfigurationState.Instance.Graphics.GraphicsBackend.Value = GraphicsBackend.OpenGl; + + Logger.Warning?.PrintMsg(LogClass.Application, "A suitable Vulkan physical device is not available. Falling back to OpenGL"); + } + } + + if (UseVulkan) + { // With a custom gpu backend, avalonia doesn't enable dpi awareness, so the backend must handle it. This isn't so for the opengl backed, // as that uses avalonia's gpu backend and it's enabled there. ForceDpiAware.Windows(); |