aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs')
-rw-r--r--Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs49
1 files changed, 49 insertions, 0 deletions
diff --git a/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs
new file mode 100644
index 00000000..8e836398
--- /dev/null
+++ b/Ryujinx.Ava/Ui/Backend/Vulkan/VulkanOptions.cs
@@ -0,0 +1,49 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+
+namespace Ryujinx.Ava.Ui.Vulkan
+{
+ public class VulkanOptions
+ {
+ /// <summary>
+ /// Sets the application name of the Vulkan instance
+ /// </summary>
+ public string ApplicationName { get; set; }
+
+ /// <summary>
+ /// Specifies the Vulkan API version to use
+ /// </summary>
+ public Version VulkanVersion { get; set; } = new Version(1, 1, 0);
+
+ /// <summary>
+ /// Specifies additional extensions to enable if available on the instance
+ /// </summary>
+ public IEnumerable<string> InstanceExtensions { get; set; } = Enumerable.Empty<string>();
+
+ /// <summary>
+ /// Specifies layers to enable if available on the instance
+ /// </summary>
+ public IEnumerable<string> EnabledLayers { get; set; } = Enumerable.Empty<string>();
+
+ /// <summary>
+ /// Enables the debug layer
+ /// </summary>
+ public bool UseDebug { get; set; }
+
+ /// <summary>
+ /// Selects the first suitable discrete GPU available
+ /// </summary>
+ public bool PreferDiscreteGpu { get; set; }
+
+ /// <summary>
+ /// Sets the device to use if available and suitable.
+ /// </summary>
+ public string PreferredDevice { get; set; }
+
+ /// <summary>
+ /// Max number of device queues to request
+ /// </summary>
+ public uint MaxQueueCount { get; set; }
+ }
+}