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/VulkanDevice.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/VulkanDevice.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs | 10 |
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) |