using System;
using System.Collections.Generic;
using System.Linq;
namespace Ryujinx.Ava.Ui.Vulkan
{
public class VulkanOptions
{
///
/// Sets the application name of the Vulkan instance
///
public string ApplicationName { get; set; }
///
/// Specifies the Vulkan API version to use
///
public Version VulkanVersion { get; set; } = new Version(1, 1, 0);
///
/// Specifies additional extensions to enable if available on the instance
///
public IEnumerable InstanceExtensions { get; set; } = Enumerable.Empty();
///
/// Specifies layers to enable if available on the instance
///
public IEnumerable EnabledLayers { get; set; } = Enumerable.Empty();
///
/// Enables the debug layer
///
public bool UseDebug { get; set; }
///
/// Selects the first suitable discrete GPU available
///
public bool PreferDiscreteGpu { get; set; }
///
/// Sets the device to use if available and suitable.
///
public string PreferredDevice { get; set; }
///
/// Max number of device queues to request
///
public uint MaxQueueCount { get; set; }
}
}