using System.Collections.Generic;
using NvAPIWrapper.Native.GPU;
namespace NvAPIWrapper.Native.Interfaces.GPU
{
///
/// Holds information regarding performance states status of a GPU
///
public interface IPerformanceStatesInfo
{
///
/// Gets a boolean value indicating if the device is capable of dynamic performance state switching
///
bool IsCapableOfDynamicPerformance { get; }
///
/// Gets a boolean value indicating if the dynamic performance state switching is enable
///
bool IsDynamicPerformanceEnable { get; }
///
/// Gets a boolean value indicating if the performance monitoring is enable
///
bool IsPerformanceMonitorEnable { get; }
///
/// Gets an array of valid and available performance states information
///
IPerformanceState[] PerformanceStates { get; }
///
/// Gets a dictionary of valid and available performance states and their clock information as an array
///
IReadOnlyDictionary PerformanceStatesClocks { get; }
///
/// Gets a dictionary of valid and available performance states and their voltage information as an array
///
IReadOnlyDictionary PerformanceStatesVoltages { get; }
}
}