diff options
Diffstat (limited to 'Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs')
-rw-r--r-- | Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs deleted file mode 100644 index 3d893e19..00000000 --- a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanDevice.cs +++ /dev/null @@ -1,63 +0,0 @@ -using System; -using Silk.NET.Vulkan; - -namespace Ryujinx.Ava.Ui.Vulkan -{ - internal class VulkanDevice : IDisposable - { - private static object _lock = new object(); - - public VulkanDevice(Device apiHandle, VulkanPhysicalDevice physicalDevice, Vk api) - { - InternalHandle = apiHandle; - Api = api; - - api.GetDeviceQueue(apiHandle, physicalDevice.QueueFamilyIndex, 0, out var queue); - - Queue = new VulkanQueue(this, queue); - - PresentQueue = Queue; - } - - public IntPtr Handle => InternalHandle.Handle; - - internal Device InternalHandle { get; } - public Vk Api { get; } - - public VulkanQueue Queue { get; private set; } - public VulkanQueue PresentQueue { get; } - - public void Dispose() - { - WaitIdle(); - Queue = null; - Api.DestroyDevice(InternalHandle, Span<AllocationCallbacks>.Empty); - } - - internal void Submit(SubmitInfo submitInfo, Fence fence = default) - { - lock (_lock) - { - Api.QueueSubmit(Queue.InternalHandle, 1, submitInfo, fence).ThrowOnError(); - } - } - - public void WaitIdle() - { - lock (_lock) - { - Api.DeviceWaitIdle(InternalHandle); - } - } - - public void QueueWaitIdle() - { - lock (_lock) - { - Api.QueueWaitIdle(Queue.InternalHandle); - } - } - - public object Lock => _lock; - } -} |