aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs
diff options
context:
space:
mode:
authorEmmanuel Hansen <emmausssss@gmail.com>2022-08-16 16:32:37 +0000
committerGitHub <noreply@github.com>2022-08-16 16:32:37 +0000
commitc8f9292babd5aa6021ce1bd6a977130baebb7de3 (patch)
treee6e62d79d08726129485476078732f9b89f6ab5c /Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs
parent0ec933a6152ebb7724da1e3a05a5ae1c2ea07b2f (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/VulkanDevice.cs')
-rw-r--r--Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs10
1 files changed, 3 insertions, 7 deletions
diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs
index b03fd720..3d893e19 100644
--- a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs
+++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs
@@ -14,12 +14,9 @@ namespace Ryujinx.Ava.Ui.Vulkan
api.GetDeviceQueue(apiHandle, physicalDevice.QueueFamilyIndex, 0, out var queue);
- var vulkanQueue = new VulkanQueue(this, queue);
- Queue = vulkanQueue;
+ Queue = new VulkanQueue(this, queue);
- PresentQueue = vulkanQueue;
-
- CommandBufferPool = new VulkanCommandBufferPool(this, physicalDevice);
+ PresentQueue = Queue;
}
public IntPtr Handle => InternalHandle.Handle;
@@ -29,13 +26,12 @@ namespace Ryujinx.Ava.Ui.Vulkan
public VulkanQueue Queue { get; private set; }
public VulkanQueue PresentQueue { get; }
- public VulkanCommandBufferPool CommandBufferPool { get; }
public void Dispose()
{
WaitIdle();
- CommandBufferPool?.Dispose();
Queue = null;
+ Api.DestroyDevice(InternalHandle, Span<AllocationCallbacks>.Empty);
}
internal void Submit(SubmitInfo submitInfo, Fence fence = default)