Experimental GPU overclock

This commit is contained in:
Serge
2023-05-06 14:40:52 +02:00
parent 8e1099545a
commit c61f4d1608
497 changed files with 46937 additions and 232 deletions

View File

@@ -0,0 +1,40 @@
using NvAPIWrapper.Native.Display;
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Contains data corresponding to color information
/// </summary>
public interface IColorData
{
/// <summary>
/// Gets the color data color depth
/// </summary>
ColorDataDepth? ColorDepth { get; }
/// <summary>
/// Gets the color data dynamic range
/// </summary>
ColorDataDynamicRange? DynamicRange { get; }
/// <summary>
/// Gets the color data color format
/// </summary>
ColorDataFormat ColorFormat { get; }
/// <summary>
/// Gets the color data color space
/// </summary>
ColorDataColorimetry Colorimetry { get; }
/// <summary>
/// Gets the color data selection policy
/// </summary>
ColorDataSelectionPolicy? SelectionPolicy { get; }
/// <summary>
/// Gets the color data desktop color depth
/// </summary>
ColorDataDesktopDepth? DesktopColorDepth { get; }
}
}

View File

@@ -0,0 +1,30 @@
using NvAPIWrapper.Native.Display.Structures;
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Holds information regarding a display color space configurations
/// </summary>
public interface IDisplayColorData
{
/// <summary>
/// Gets the first primary color space coordinate (e.g. Red for RGB) [(0.0, 0.0)-(1.0, 1.0)]
/// </summary>
ColorDataColorCoordinate FirstColorCoordinate { get; }
/// <summary>
/// Gets the second primary color space coordinate (e.g. Green for RGB) [(0.0, 0.0)-(1.0, 1.0)]
/// </summary>
ColorDataColorCoordinate SecondColorCoordinate { get; }
/// <summary>
/// Gets the third primary color space coordinate (e.g. Blue for RGB) [(0.0, 0.0)-(1.0, 1.0)]
/// </summary>
ColorDataColorCoordinate ThirdColorCoordinate { get; }
/// <summary>
/// Gets the white color space coordinate [(0.0, 0.0)-(1.0, 1.0)]
/// </summary>
ColorDataColorCoordinate WhiteColorCoordinate { get; }
}
}

View File

@@ -0,0 +1,28 @@
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Holds the Digital Vibrance Control information regarding the saturation level.
/// </summary>
public interface IDisplayDVCInfo
{
/// <summary>
/// Gets the current saturation level
/// </summary>
int CurrentLevel { get; }
/// <summary>
/// Gets the default saturation level
/// </summary>
int DefaultLevel { get; }
/// <summary>
/// Gets the maximum valid saturation level
/// </summary>
int MaximumLevel { get; }
/// <summary>
/// Gets the minimum valid saturation level
/// </summary>
int MinimumLevel { get; }
}
}

View File

@@ -0,0 +1,74 @@
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Contains information about the HDMI capabilities of the GPU, output and the display device attached
/// </summary>
public interface IHDMISupportInfo
{
/// <summary>
/// Gets the display's EDID 861 Extension Revision
/// </summary>
uint EDID861ExtensionRevision { get; }
/// <summary>
/// Gets a boolean value indicating that the GPU is capable of HDMI output
/// </summary>
bool IsGPUCapableOfHDMIOutput { get; }
/// <summary>
/// Gets a boolean value indicating that the display is connected via HDMI
/// </summary>
bool IsHDMIMonitor { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of Adobe RGB if such data is available;
/// otherwise null
/// </summary>
bool? IsMonitorCapableOfAdobeRGB { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of Adobe YCC601 if such data is available;
/// otherwise null
/// </summary>
bool? IsMonitorCapableOfAdobeYCC601 { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of basic audio
/// </summary>
bool IsMonitorCapableOfBasicAudio { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of sYCC601 if such data is available;
/// otherwise null
/// </summary>
bool? IsMonitorCapableOfsYCC601 { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of underscan
/// </summary>
bool IsMonitorCapableOfUnderscan { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of xvYCC601
/// </summary>
// ReSharper disable once IdentifierTypo
bool IsMonitorCapableOfxvYCC601 { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of xvYCC709
/// </summary>
// ReSharper disable once IdentifierTypo
bool IsMonitorCapableOfxvYCC709 { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of YCbCr422
/// </summary>
bool IsMonitorCapableOfYCbCr422 { get; }
/// <summary>
/// Gets a boolean value indicating that the connected display is capable of YCbCr444
/// </summary>
bool IsMonitorCapableOfYCbCr444 { get; }
}
}

View File

@@ -0,0 +1,37 @@
using NvAPIWrapper.Native.Display;
using NvAPIWrapper.Native.Display.Structures;
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Contains information regarding HDR color data
/// </summary>
public interface IHDRColorData
{
/// <summary>
/// Gets the HDR color depth if available; otherwise null
/// For Dolby Vision only, should and will be ignored if HDR is on
/// </summary>
ColorDataDepth? ColorDepth { get; }
/// <summary>
/// Gets the HDR color format if available; otherwise null
/// </summary>
ColorDataFormat? ColorFormat { get; }
/// <summary>
/// Gets the HDR dynamic range if available; otherwise null
/// </summary>
ColorDataDynamicRange? DynamicRange { get; }
/// <summary>
/// Gets the HDR mode
/// </summary>
ColorDataHDRMode HDRMode { get; }
/// <summary>
/// Gets the color space coordinates
/// </summary>
MasteringDisplayColorData MasteringDisplayData { get; }
}
}

View File

@@ -0,0 +1,27 @@
using System;
using System.Collections.Generic;
using NvAPIWrapper.Native.Display.Structures;
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Interface for all PathInfo structures
/// </summary>
public interface IPathInfo : IDisposable
{
/// <summary>
/// Identifies sourceId used by Windows CCD. This can be optionally set.
/// </summary>
uint SourceId { get; }
/// <summary>
/// Contains information about the source mode
/// </summary>
SourceModeInfo SourceModeInfo { get; }
/// <summary>
/// Contains information about path targets
/// </summary>
IEnumerable<IPathTargetInfo> TargetsInfo { get; }
}
}

View File

@@ -0,0 +1,20 @@
using NvAPIWrapper.Native.Display.Structures;
namespace NvAPIWrapper.Native.Interfaces.Display
{
/// <summary>
/// Interface for all PathTargetInfo structures
/// </summary>
public interface IPathTargetInfo
{
/// <summary>
/// Contains extra information. NULL for Non-NVIDIA Display.
/// </summary>
PathAdvancedTargetInfo? Details { get; }
/// <summary>
/// Display identification
/// </summary>
uint DisplayId { get; }
}
}

View File

@@ -0,0 +1,24 @@
namespace NvAPIWrapper.Native.Display.Structures
{
/// <summary>
/// Contains information regarding the scan-out intensity data
/// </summary>
public interface IScanOutIntensity {
/// <summary>
/// Gets the array of floating values building an intensity RGB texture
/// </summary>
float[] BlendingTexture { get; }
/// <summary>
/// Gets the height of the input texture
/// </summary>
uint Height { get; }
/// <summary>
/// Gets the width of the input texture
/// </summary>
uint Width { get; }
}
}