Compare commits

..

25 Commits

Author SHA1 Message Date
emoose
73dbbbd66c Settings: add DXVK present promotion flag & extra DLSS/rBAR settings
thanks to aufkrawall for suggestions (https://github.com/Orbmu2k/nvidiaProfileInspector/issues/282)

- added DXVK flag to Reference.xml to let bit editor see it

- also added shader cache size 8GB / 0x2000 since that seemed default for me
2025-02-21 22:39:08 +00:00
emoose
64f626e8a0 Use InputBox with browse button to add app, add yes/no prompt to reset profile 2025-02-19 00:25:19 +00:00
emoose
f62aa86ccc InputBox: add browse button 2025-02-18 23:33:12 +00:00
emoose
345444619c Add tooltip to app paths label 2025-02-18 23:33:12 +00:00
emoose
50006f114a Allow adding app path by string when double-clicking apps label
Can be used to add UWP IDs to the profile without needing to edit exported .nip
2025-02-18 23:33:12 +00:00
emoose
a3b524e7d9 InputBox: fix DPI scaling on later Windows versions 2025-02-18 23:33:12 +00:00
Orbmu2k
109fdd066a Merge pull request #273 from Orbmu2k/master-pull
MERGE PRs
2025-02-15 12:30:06 +01:00
Orbmu2k
9115ffa4cc Merge pull request #272 from emoose/listviewfix
Fix combobox requiring two clicks to open, add RTX digital vibrance
2025-02-15 12:27:10 +01:00
Orbmu2k
b4f65906d9 Merge pull request #265 from renannmp/master
Update CustomSettingNames.xml to add CUDA - Sysmem Fallback Policy and  Vulkan/OpenGL present method.
2025-02-15 12:26:54 +01:00
emoose
c0c37cbfbb Trim unneeded HDR settings, add RTX digital vibrance + DLSS preset L - O
nvapi returns presets L - O for future presets to use, add them to our list to make combobox items uniform
2025-02-14 08:24:06 +00:00
emoose
e548c384ec ListViewEx: skip repositioning opened combobox, fixes combobox requiring two clicks 2025-02-14 08:11:36 +00:00
Warkratos
b043a0cce6 Update CustomSettingNames.xml
Add CUDA - Sysmem Fallback Policy to 5 - Common
Add Vulkan/OpenGL present method to 2 - Sync and refresh
Small correction to hex for MPO_INDICATOR
2025-02-08 16:41:16 -03:00
Orbmu2k
7eca55a7a1 NVAPI R570 + .NET FW 4.8.1 + small improvements 2025-02-07 19:49:13 +01:00
Orbmu2k
332153bc23 Merge pull request #262 from renannmp/master
Update CustomSettingNames.xml to include MPO Indicator and Old Sharpening Method
2025-02-07 19:33:19 +01:00
Nyamp
8ff77c1f07 Update CustomSettingNames.xml
- Add MPO_INDICATOR to Extra
- Override Default Setting for Frame Generation Count
- Add Old Sharpening Method to Antialiasing
2025-02-04 23:34:52 -03:00
Orbmu2k
801fa76467 Merge pull request #261 from emoose/master
CustomSettingNames: add DLSS/HDR/SmoothMotion settings
2025-02-04 18:59:05 +01:00
emoose
a40527f8de CustomSettingNames: add DLSS/HDR/SmoothMotion settings 2025-02-04 16:17:26 +00:00
Orbmu2k
b5a0b0091a #247 temporary fix for 571.96 overflow bug - thanks emoose :) 2025-01-24 16:12:31 +01:00
Orbmu2k
8b6c13216a possible fix for #131 2023-03-26 11:35:33 +02:00
Orbmu2k
3c74a9b5e5 additional invariant culture checks for lower case 2023-03-26 11:30:05 +02:00
Orbmu2k
70c63b1239 possible fix for #128 2023-03-26 11:27:21 +02:00
Orbmu2k
f003324d55 fallback functionIds 2023-03-26 11:25:42 +02:00
Orbmu2k
b9563767ef fixed dpi 2022-11-30 23:22:10 +01:00
Orbmu2k
4c28abefa3 settings rename pt 2 2022-11-26 20:01:21 +01:00
Orbmu2k
76e5d34e24 'Raytracing - (Vulkan RT) enabled' setting added
added support for descriptions in CSN
added setting name filter (CTRL + F) revert with ESCAPE
added devmode view (CTRL + ALT + D)
and some fixes
2022-11-19 22:24:26 +01:00
30 changed files with 1960 additions and 559 deletions

View File

@@ -16,6 +16,8 @@ namespace nspector.Common.CustomSettings
public string OverrideDefault { get; set; }
public float MinRequiredDriverVersion { get; set; }
public bool Hidden { get; set; }
public bool HasConstraints { get; set; }
public string DataType { get; set; }
public List<CustomSettingValue> SettingValues { get; set; }

View File

@@ -89,7 +89,7 @@ namespace nspector.Common
private string FormatInternalSettingKey(string profileName, uint settingId)
{
return profileName + settingId.ToString("X8").ToLower();
return profileName + settingId.ToString("X8").ToLowerInvariant();
}
public bool IsInternalSetting(string profileName, uint settingId)

View File

@@ -161,9 +161,8 @@ namespace nspector.Common
private void AddScannedSettingToCache(NVDRS_PROFILE profile, NVDRS_SETTING setting)
{
// Skip 3D Vision string values here for improved scan performance
bool allowAddValue = setting.settingId < 0x70000000 || setting.settingType == NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE;
// 3D Vision is dead so dont bother scanning those values for improved scan performance
bool allowAddValue = !((setting.settingId & 0x70000000) == 0x70000000);
//bool allowAddValue = true;
var cachedSetting = CachedSettings
@@ -186,6 +185,7 @@ namespace nspector.Common
cachedSetting.AddDwordValue(setting.predefinedValue.dwordValue, profile.profileName);
else if (setting.settingType == NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE)
cachedSetting.AddBinaryValue(setting.predefinedValue.binaryValue, profile.profileName);
}
else
cachedSetting.ProfileCount++;
@@ -198,7 +198,7 @@ namespace nspector.Common
public string FindProfilesUsingApplication(string applicationName)
{
string lowerApplicationName = applicationName.ToLower();
string lowerApplicationName = applicationName.ToLowerInvariant();
string tmpfile = TempFile.GetTempFileName();
try
@@ -219,7 +219,7 @@ namespace nspector.Common
string scope = m.Result("${scope}");
foreach (Match ms in Regex.Matches(scope, "Executable\\s\\\"(?<app>.*?)\\\"", RegexOptions.Singleline))
{
if (ms.Result("${app}").ToLower() == lowerApplicationName)
if (ms.Result("${app}").ToLowerInvariant() == lowerApplicationName)
{
matchingProfiles.Add(m.Result("${profile}"));
}

View File

@@ -14,6 +14,8 @@ namespace nspector.Common
public static readonly DrsScannerService ScannerService;
public static readonly DrsDecrypterService DecrypterService;
public static bool IsExternalCustomSettings { get; private set; } = false;
static DrsServiceLocator()
{
CustomSettings = LoadCustomSettings();
@@ -31,7 +33,18 @@ namespace nspector.Common
string csnDefaultPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\CustomSettingNames.xml";
if (File.Exists(csnDefaultPath))
return CustomSettingNames.FactoryLoadFromFile(csnDefaultPath);
{
try
{
var externalSettings = CustomSettingNames.FactoryLoadFromFile(csnDefaultPath);
IsExternalCustomSettings = true;
return externalSettings;
}
catch
{
return CustomSettingNames.FactoryLoadFromString(Properties.Resources.CustomSettingNames);
}
}
else
return CustomSettingNames.FactoryLoadFromString(Properties.Resources.CustomSettingNames);
}
@@ -40,8 +53,12 @@ namespace nspector.Common
{
string csnDefaultPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "\\Reference.xml";
if (File.Exists(csnDefaultPath))
return CustomSettingNames.FactoryLoadFromFile(csnDefaultPath);
try
{
if (File.Exists(csnDefaultPath))
return CustomSettingNames.FactoryLoadFromFile(csnDefaultPath);
}
catch { }
return null;
}

View File

@@ -311,6 +311,7 @@ namespace nspector.Common
IsApiExposed = GetIsApiExposed(settingId),
IsSettingHidden = GetIsSettingHidden(settingId),
Description = GetDescription(settingId),
DefaultDwordValue =
settingType == NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE
@@ -352,6 +353,7 @@ namespace nspector.Common
GroupName = settingMeta.GroupName,
IsApiExposed = settingMeta.IsApiExposed,
IsSettingHidden = settingMeta.IsSettingHidden,
Description = settingMeta.Description,
};
if (string.IsNullOrEmpty(newMeta.SettingName))
@@ -421,5 +423,16 @@ namespace nspector.Common
var csnMeta = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.CustomSettings);
return (csnMeta != null && ((CustomSettingMetaService)csnMeta.Service).IsSettingHidden(settingId));
}
private string GetDescription(uint settingId)
{
var csn = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.CustomSettings);
var csnDescription = csn != null ? ((CustomSettingMetaService)csn.Service).GetDescription(settingId) ?? "" : "";
var refs = MetaServices.FirstOrDefault(m => m.Service.Source == SettingMetaSource.ReferenceSettings);
var refsDescription = refs != null ? ((CustomSettingMetaService)refs.Service).GetDescription(settingId) ?? "" : "";
return !string.IsNullOrEmpty(csnDescription) ? csnDescription : refsDescription;
}
}
}

View File

@@ -272,6 +272,39 @@ namespace nspector.Common
removeFromModified = tmpRemoveFromModified;
}
public void DeleteValue(string profileName, uint settingId, out bool removeFromModified)
{
var tmpRemoveFromModified = false;
DrsSession((hSession) =>
{
var hProfile = GetProfileHandle(hSession, profileName);
if (hProfile != IntPtr.Zero)
{
int dropCount = 0;
var settings = GetProfileSettings(hSession, hProfile);
foreach (var setting in settings)
{
if (setting.settingId != settingId) continue;
if (setting.settingLocation == NVDRS_SETTING_LOCATION.NVDRS_CURRENT_PROFILE_LOCATION)
{
if (nvw.DRS_DeleteProfileSetting(hSession, hProfile, setting.settingId) == NvAPI_Status.NVAPI_OK)
{
dropCount++;
break;
}
}
}
tmpRemoveFromModified = (dropCount == 0);
SaveSettings(hSession);
}
});
removeFromModified = tmpRemoveFromModified;
}
public uint GetDwordValueFromProfile(string profileName, uint settingId, bool returnDefaultValue = false, bool forceDedicatedScope = false)
{
return DrsSession((hSession) =>

View File

@@ -17,7 +17,7 @@ namespace nspector.Common
public static uint ParseDwordByInputSafe(string input)
{
uint result = 0;
if (input.ToLower().StartsWith("0x"))
if (input.ToLowerInvariant().StartsWith("0x"))
{
try
{
@@ -53,7 +53,7 @@ namespace nspector.Common
internal static string ParseStringSettingValue(SettingMeta meta, string text)
{
var valueByName = meta.StringValues.FirstOrDefault(x => x.ValueName != null && x.ValueName.Equals(text));
var valueByName = meta.StringValues?.FirstOrDefault(x => x.ValueName != null && x.ValueName.Equals(text));
if (valueByName != null)
return valueByName.Value;

View File

@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Text.RegularExpressions;
using System.Windows.Forms;
@@ -8,13 +9,15 @@ namespace nspector.Common.Helper
{
internal class InputBox
{
internal static DialogResult Show(string title, string promptText, ref string value, List<string> invalidInputs, string mandatoryFormatRegExPattern, int maxLength)
internal static DialogResult Show(string title, string promptText, ref string value, List<string> invalidInputs, string mandatoryFormatRegExPattern, int maxLength, bool allowExeBrowse = false)
{
var form = new Form();
var label = new Label();
var textBox = new TextBox();
var buttonOk = new Button();
var buttonCancel = new Button();
var buttonBrowse = new Button();
var imageBox = new PictureBox();
EventHandler textchanged = delegate (object sender, EventArgs e)
@@ -42,10 +45,23 @@ namespace nspector.Common.Helper
buttonOk.Enabled = true;
};
EventHandler buttonBrowse_Click = delegate (object sender, EventArgs e)
{
var openDialog = new OpenFileDialog();
openDialog.DefaultExt = "*.exe";
openDialog.Filter = "Application EXE Name|*.exe|Application Absolute Path|*.exe";
if (openDialog.ShowDialog() == DialogResult.OK)
{
string applicationName = new FileInfo(openDialog.FileName).Name;
if (openDialog.FilterIndex == 2)
applicationName = openDialog.FileName;
textBox.Text = applicationName;
}
};
textBox.TextChanged += textchanged;
form.Text = title;
label.Text = promptText;
textBox.Text = value;
@@ -54,28 +70,47 @@ namespace nspector.Common.Helper
buttonOk.Text = "OK";
buttonCancel.Text = "Cancel";
buttonBrowse.Text = "Browse...";
buttonOk.DialogResult = DialogResult.OK;
buttonCancel.DialogResult = DialogResult.Cancel;
buttonOk.Enabled = false;
label.SetBounds(9, 20, 372, 13);
textBox.SetBounds(12, 36, 352, 20);
buttonOk.SetBounds(228, 72, 75, 23);
buttonCancel.SetBounds(309, 72, 75, 23);
label.SetBounds(Dpi(9), Dpi(20), Dpi(372), Dpi(13));
textBox.SetBounds(Dpi(12), Dpi(44), Dpi(352), Dpi(20));
buttonOk.SetBounds(Dpi(224), Dpi(72), Dpi(75), Dpi(23));
buttonCancel.SetBounds(Dpi(305), Dpi(72), Dpi(75), Dpi(23));
imageBox.SetBounds(368, 36, 16, 16);
if (allowExeBrowse)
{
textBox.SetBounds(Dpi(12), Dpi(44), Dpi(286), Dpi(20));
buttonBrowse.SetBounds(Dpi(305), Dpi(39), Dpi(75), Dpi(23));
buttonBrowse.Click += buttonBrowse_Click;
}
imageBox.SetBounds(Dpi(368), Dpi(44), Dpi(16), Dpi(16));
label.AutoSize = true;
label.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
imageBox.Anchor = AnchorStyles.Top | AnchorStyles.Right;
textBox.Anchor = textBox.Anchor | AnchorStyles.Right;
textBox.Anchor = AnchorStyles.Top | AnchorStyles.Left | AnchorStyles.Right;
buttonOk.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonCancel.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
buttonBrowse.Anchor = AnchorStyles.Bottom | AnchorStyles.Right;
form.ClientSize = new Size(396, 107);
form.Controls.AddRange(new Control[] { label, textBox, imageBox, buttonOk, buttonCancel });
form.ClientSize = new Size(Math.Max(300, label.Right + 10), form.ClientSize.Height);
form.FormBorderStyle = FormBorderStyle.FixedDialog;
form.ClientSize = new Size(Dpi(396), Dpi(107));
form.ClientSize = new Size(Math.Max(Dpi(300), label.Right + Dpi(10)), form.ClientSize.Height);
form.MinimumSize = form.Size;
form.MaximumSize = new Size(form.MinimumSize.Width * 2, form.MinimumSize.Height);
form.Controls.AddRange(new Control[] { label, textBox, buttonOk, buttonCancel });
if (!allowExeBrowse)
form.Controls.Add(imageBox);
else
form.Controls.Add(buttonBrowse);
form.ShowIcon = false;
form.FormBorderStyle = FormBorderStyle.Sizable;
form.StartPosition = FormStartPosition.CenterParent;
form.MinimizeBox = false;
form.MaximizeBox = false;
@@ -88,5 +123,10 @@ namespace nspector.Common.Helper
value = textBox.Text;
return dialogResult;
}
private static int Dpi(int input)
{
return (int)Math.Round(input * frmDrvSettings.ScaleFactor);
}
}
}

View File

@@ -30,7 +30,7 @@ namespace nspector.Common.Helper
try
{
switch (fileInfo.Extension.ToLower())
switch (fileInfo.Extension.ToLowerInvariant())
{
case ".lnk": return ResolveFromShellLinkFile(fileInfo.FullName);
case ".url": return ResolveFromUrlFile(fileInfo.FullName);
@@ -54,7 +54,7 @@ namespace nspector.Common.Helper
}
var targetInfo = new FileInfo(shellLink.Target);
if (targetInfo.Name.ToLower() == SteamAppResolver.SteamExeName)
if (targetInfo.Name.ToLowerInvariant() == SteamAppResolver.SteamExeName)
{
if (shellLink.Arguments.Contains(SteamAppResolver.SteamArgumentPattern))
{
@@ -63,7 +63,7 @@ namespace nspector.Common.Helper
}
}
if (targetInfo.Extension.ToLower().Equals(".exe"))
if (targetInfo.Extension.ToLowerInvariant().Equals(".exe"))
{
return targetInfo.Name;
}

View File

@@ -41,7 +41,14 @@ namespace nspector.Common.Helper
var filename = GetSettingsFilename();
if (!File.Exists(filename)) return new UserSettings();
return XMLHelper<UserSettings>.DeserializeFromXMLFile(GetSettingsFilename());
try
{
return XMLHelper<UserSettings>.DeserializeFromXMLFile(GetSettingsFilename());
}
catch
{
return new UserSettings();
}
}
}
}

View File

@@ -1,5 +1,6 @@
using nspector.Common.CustomSettings;
using nspector.Native.NVAPI2;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -19,7 +20,26 @@ namespace nspector.Common.Meta
public NVDRS_SETTING_TYPE? GetSettingValueType(uint settingId)
{
return null;
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return MapType(setting?.DataType);
}
private NVDRS_SETTING_TYPE? MapType(string type)
{
if (string.IsNullOrEmpty(type)) return null;
switch(type.ToLowerInvariant())
{
case "dword":
return NVDRS_SETTING_TYPE.NVDRS_DWORD_TYPE;
case "string":
return NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE;
case "binary":
return NVDRS_SETTING_TYPE.NVDRS_BINARY_TYPE;
default: throw new ArgumentOutOfRangeException(type);
}
}
public string GetSettingName(uint settingId)
@@ -109,6 +129,14 @@ namespace nspector.Common.Meta
return setting?.Hidden ?? false;
}
public string GetDescription(uint settingId)
{
var setting = customSettings.Settings
.FirstOrDefault(x => x.SettingId.Equals(settingId));
return setting?.Description;
}
public SettingMetaSource Source
{
get { return _source; }

View File

@@ -30,6 +30,11 @@ namespace nspector.Common.Meta
private SettingMeta GetDriverSettingMetaInternal(uint settingId)
{
// temporary fix for 571.96 overflow bug by emoose
if ((settingId & 0xFFFFF000) == 0x10c7d000)
return null;
var values = new NVDRS_SETTING_VALUES();
values.version = nvw.NVDRS_SETTING_VALUES_VER;
uint valueCount = 255;

View File

@@ -21,6 +21,8 @@ namespace nspector.Common.Meta
public bool IsSettingHidden { get; set; }
public string Description { get; set; }
public List<SettingValue<string>> StringValues { get; set; }
public List<SettingValue<uint>> DwordValues { get; set; }

View File

File diff suppressed because it is too large Load Diff

View File

@@ -9,46 +9,49 @@ using System.Windows.Forms;
namespace nspector
{
internal delegate void DropFilesNativeHandler(string[] files);
internal delegate void DropFilesNativeHandler(string[] files);
internal class ListViewEx : ListView
internal class ListViewEx : ListView
{
public event DropFilesNativeHandler OnDropFilesNative;
public event DropFilesNativeHandler OnDropFilesNative;
[DllImport("user32.dll")]
private static extern IntPtr SendMessage(IntPtr hWnd, int msg, IntPtr wPar, IntPtr lPar);
private const int LVM_FIRST = 0x1000;
private const int LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59);
private const int WM_PAINT = 0x000F;
private const int WM_VSCROLL = 0x0115;
private const int WM_HSCROLL = 0x0114;
private const int WM_MOUSEWHEEL = 0x020A;
private struct EmbeddedControl
{
internal Control Control;
internal int Column;
internal int Row;
internal DockStyle Dock;
internal ListViewItem Item;
internal Control Control;
internal int Column;
internal int Row;
internal DockStyle Dock;
internal ListViewItem Item;
}
private ArrayList _embeddedControls = new ArrayList();
public ListViewEx()
{
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.EnableNotifyMessage, true);
}
public ListViewEx()
{
this.SetStyle(ControlStyles.OptimizedDoubleBuffer | ControlStyles.AllPaintingInWmPaint, true);
this.SetStyle(ControlStyles.EnableNotifyMessage, true);
}
protected override void OnNotifyMessage(Message m)
{
if (m.Msg != 0x14)
{
base.OnNotifyMessage(m);
}
}
protected override void OnNotifyMessage(Message m)
{
if (m.Msg != 0x14)
{
base.OnNotifyMessage(m);
}
}
protected int[] GetColumnOrder()
{
IntPtr lPar = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(int)) * Columns.Count);
@@ -94,18 +97,18 @@ namespace nspector
break;
subItemX += col.Width;
}
subItemRect = new Rectangle(subItemX, lviBounds.Top-1, this.Columns[order[i]].Width, lviBounds.Height);
return subItemRect;
}
internal void AddEmbeddedControl(Control c, int col, int row)
internal void AddEmbeddedControl(Control c, int col, int row)
{
AddEmbeddedControl(c,col,row,DockStyle.Fill);
}
internal void AddEmbeddedControl(Control c, int col, int row, DockStyle dock)
internal void AddEmbeddedControl(Control c, int col, int row, DockStyle dock)
{
if (c==null)
throw new ArgumentNullException();
@@ -122,11 +125,11 @@ namespace nspector
_embeddedControls.Add(ec);
c.Click += new EventHandler(_embeddedControl_Click);
this.Controls.Add(c);
}
internal void RemoveEmbeddedControl(Control c)
internal void RemoveEmbeddedControl(Control c)
{
if (c == null)
throw new ArgumentNullException();
@@ -143,8 +146,8 @@ namespace nspector
}
}
}
internal Control GetEmbeddedControl(int col, int row)
internal Control GetEmbeddedControl(int col, int row)
{
foreach (EmbeddedControl ec in _embeddedControls)
if (ec.Row == row && ec.Column == col)
@@ -154,9 +157,9 @@ namespace nspector
}
[DefaultValue(View.LargeIcon)]
internal new View View
internal new View View
{
get
get
{
return base.View;
}
@@ -169,9 +172,9 @@ namespace nspector
}
}
[DllImport("shell32.dll", CharSet = CharSet.Auto)]
public static extern int DragQueryFile(IntPtr hDrop, uint iFile, [Out] StringBuilder lpszFile, int cch);
private const int WM_DROPFILES = 0x233;
[DllImport("shell32.dll", CharSet = CharSet.Auto)]
public static extern int DragQueryFile(IntPtr hDrop, uint iFile, [Out] StringBuilder lpszFile, int cch);
private const int WM_DROPFILES = 0x233;
protected override void WndProc(ref Message m)
{
@@ -183,6 +186,10 @@ namespace nspector
foreach (EmbeddedControl ec in _embeddedControls)
{
// Skip repositioning if the control is a dropped-down ComboBox, prevents it from immediately closing on first click
if (ec.Control is ComboBox comboBox && comboBox.DroppedDown)
continue;
Rectangle rc = this.GetSubItemBounds(ec.Item, ec.Column);
if ((this.HeaderStyle != ColumnHeaderStyle.None) &&
@@ -220,44 +227,57 @@ namespace nspector
}
rc.X = rc.X + ec.Control.Margin.Left;
rc.Y = rc.Y + ec.Control.Margin.Top;
rc.Width = rc.Width - ec.Control.Margin.Right;
rc.Height = rc.Height - ec.Control.Margin.Bottom;
rc.X = rc.X + ec.Control.Margin.Left;
rc.Y = rc.Y + ec.Control.Margin.Top;
rc.Width = rc.Width - ec.Control.Margin.Right;
rc.Height = rc.Height - ec.Control.Margin.Bottom;
ec.Control.Bounds = rc;
ec.Control.Bounds = rc;
}
break;
case WM_DROPFILES:
if (OnDropFilesNative != null)
{
var dropped = DragQueryFile(m.WParam, 0xFFFFFFFF, null, 0);
if (dropped > 0)
{
var files = new List<string>();
for (uint i = 0; i < dropped; i++)
{
var size = DragQueryFile(m.WParam, i, null, 0);
if (size > 0)
{
var sb = new StringBuilder(size + 1);
var result = DragQueryFile(m.WParam, i, sb, size + 1);
files.Add(sb.ToString());
}
}
case WM_VSCROLL:
case WM_HSCROLL:
case WM_MOUSEWHEEL:
// Close any opened comboboxes if listview is being scrolled
foreach (EmbeddedControl ec in _embeddedControls)
{
if (ec.Control is ComboBox comboBox && comboBox.DroppedDown)
{
comboBox.DroppedDown = false;
}
}
break;
OnDropFilesNative(files.ToArray());
}
}
case WM_DROPFILES:
base.WndProc(ref m);
break;
if (OnDropFilesNative != null)
{
var dropped = DragQueryFile(m.WParam, 0xFFFFFFFF, null, 0);
if (dropped > 0)
{
var files = new List<string>();
for (uint i = 0; i < dropped; i++)
{
var size = DragQueryFile(m.WParam, i, null, 0);
if (size > 0)
{
var sb = new StringBuilder(size + 1);
var result = DragQueryFile(m.WParam, i, sb, size + 1);
files.Add(sb.ToString());
}
}
OnDropFilesNative(files.ToArray());
}
}
base.WndProc(ref m);
break;
}
base.WndProc (ref m);
base.WndProc(ref m);
}
private void _embeddedControl_Click(object sender, EventArgs e)

View File

@@ -2,6 +2,8 @@
{
public enum ESetting : uint {
OGL_AA_LINE_GAMMA_ID = 0x2089BF6C,
OGL_CPL_GDI_COMPATIBILITY_ID = 0x2072C5A3,
OGL_CPL_PREFER_DXPRESENT_ID = 0x20D690F8,
OGL_DEEP_COLOR_SCANOUT_ID = 0x2097C2F6,
OGL_DEFAULT_SWAP_INTERVAL_ID = 0x206A6582,
OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ID = 0x206C4581,
@@ -16,7 +18,6 @@
OGL_OVERLAY_SUPPORT_ID = 0x206C28C4,
OGL_QUALITY_ENHANCEMENTS_ID = 0x20797D6C,
OGL_SINGLE_BACKDEPTH_BUFFER_ID = 0x20A29055,
OGL_SLI_CFR_MODE_ID = 0x20343843,
OGL_SLI_MULTICAST_ID = 0x2092D3BE,
OGL_THREAD_CONTROL_ID = 0x20C1221E,
OGL_TMON_LEVEL_ID = 0x202888C1,
@@ -33,6 +34,8 @@
ANSEL_ALLOW_ID = 0x1035DB89,
ANSEL_ALLOWLISTED_ID = 0x1085DA8A,
ANSEL_ENABLE_ID = 0x1075D972,
APPIDLE_DYNAMIC_FRL_FPS_ID = 0x10835016,
APPIDLE_DYNAMIC_FRL_THRESHOLD_TIME_ID = 0x10835017,
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID = 0x104554B6,
APPLICATION_STEAM_ID_ID = 0x107CDDBC,
BATTERY_BOOST_APP_FPS_ID = 0x10115C8C,
@@ -47,6 +50,22 @@
FXAA_INDICATOR_ENABLE_ID = 0x1068FB9C,
LATENCY_INDICATOR_AUTOALIGN_ID = 0x1095F170,
MCSFRSHOWSPLIT_ID = 0x10287051,
NGX_DLAA_OVERRIDE_ID = 0x10E41DF4,
NGX_DLSSG_MULTI_FRAME_COUNT_ID = 0x104D6667,
NGX_DLSS_FG_OVERRIDE_ID = 0x10E41E03,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D57E,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D519,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_ID = 0x10AFB76C,
NGX_DLSS_RR_MODE_ID = 0x10BD9423,
NGX_DLSS_RR_OVERRIDE_ID = 0x10E41E02,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_ID = 0x10E41DF7,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D86C,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D597,
NGX_DLSS_SR_MODE_ID = 0x10AFB768,
NGX_DLSS_SR_OVERRIDE_ID = 0x10E41E01,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_ID = 0x10E41DF3,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D684,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D82C,
NV_QUALITY_UPSCALING_ID = 0x10444444,
OPTIMUS_MAXAA_ID = 0x10F9DC83,
PHYSXINDICATOR_ID = 0x1094F16F,
@@ -74,7 +93,6 @@
VSYNC_BEHAVIOR_FLAGS_ID = 0x10FDEC23,
WKS_API_STEREO_EYES_EXCHANGE_ID = 0x11AE435C,
WKS_API_STEREO_MODE_ID = 0x11E91A61,
WKS_MEMORY_ALLOCATION_POLICY_ID = 0x11112233,
WKS_STEREO_DONGLE_SUPPORT_ID = 0x112493BD,
WKS_STEREO_SUPPORT_ID = 0x11AA9E99,
WKS_STEREO_SWAP_MODE_ID = 0x11333333,
@@ -87,6 +105,7 @@
MAXWELL_B_SAMPLE_INTERLEAVE_ID = 0x0098C1AC,
PRERENDERLIMIT_ID = 0x007BA09E,
PS_SHADERDISKCACHE_ID = 0x00198FFF,
PS_SHADERDISKCACHE_DLL_PATH_WCHAR_ID = 0x0019A002,
PS_SHADERDISKCACHE_MAX_SIZE_ID = 0x00AC8497,
PS_TEXFILTER_ANISO_OPTS2_ID = 0x00E73211,
PS_TEXFILTER_BILINEAR_IN_ANISO_ID = 0x0084CD70,
@@ -99,9 +118,9 @@
SET_VAB_DATA_ID = 0x00AB8687,
VSYNCMODE_ID = 0x00A879CF,
VSYNCTEARCONTROL_ID = 0x005A375C,
TOTAL_DWORD_SETTING_NUM = 94,
TOTAL_WSTRING_SETTING_NUM = 4,
TOTAL_SETTING_NUM = 98,
TOTAL_DWORD_SETTING_NUM = 112,
TOTAL_WSTRING_SETTING_NUM = 5,
TOTAL_SETTING_NUM = 117,
INVALID_SETTING_ID = 0xFFFFFFFF
}
@@ -114,6 +133,22 @@
OGL_AA_LINE_GAMMA_DEFAULT = OGL_AA_LINE_GAMMA_DISABLED
}
public enum EValues_OGL_CPL_GDI_COMPATIBILITY : uint {
OGL_CPL_GDI_COMPATIBILITY_PREFER_DISABLED = 0x00000000,
OGL_CPL_GDI_COMPATIBILITY_PREFER_ENABLED = 0x00000001,
OGL_CPL_GDI_COMPATIBILITY_AUTO = 0x00000002,
OGL_CPL_GDI_COMPATIBILITY_NUM_VALUES = 3,
OGL_CPL_GDI_COMPATIBILITY_DEFAULT = OGL_CPL_GDI_COMPATIBILITY_AUTO
}
public enum EValues_OGL_CPL_PREFER_DXPRESENT : uint {
OGL_CPL_PREFER_DXPRESENT_PREFER_DISABLED = 0x00000000,
OGL_CPL_PREFER_DXPRESENT_PREFER_ENABLED = 0x00000001,
OGL_CPL_PREFER_DXPRESENT_AUTO = 0x00000002,
OGL_CPL_PREFER_DXPRESENT_NUM_VALUES = 3,
OGL_CPL_PREFER_DXPRESENT_DEFAULT = OGL_CPL_PREFER_DXPRESENT_AUTO
}
public enum EValues_OGL_DEEP_COLOR_SCANOUT : uint {
OGL_DEEP_COLOR_SCANOUT_DISABLE = 0,
OGL_DEEP_COLOR_SCANOUT_ENABLE = 1,
@@ -207,14 +242,6 @@
OGL_SINGLE_BACKDEPTH_BUFFER_DEFAULT = OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE
}
public enum EValues_OGL_SLI_CFR_MODE : uint {
OGL_SLI_CFR_MODE_DISABLE = 0x00,
OGL_SLI_CFR_MODE_ENABLE = 0x01,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x02,
OGL_SLI_CFR_MODE_NUM_VALUES = 3,
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_DISABLE
}
public enum EValues_OGL_SLI_MULTICAST : uint {
OGL_SLI_MULTICAST_DISABLE = 0x00,
OGL_SLI_MULTICAST_ENABLE = 0x01,
@@ -512,6 +539,146 @@
MCSFRSHOWSPLIT_DEFAULT = MCSFRSHOWSPLIT_DISABLED
}
public enum EValues_NGX_DLAA_OVERRIDE : uint {
NGX_DLAA_OVERRIDE_DLAA_DEFAULT = 0,
NGX_DLAA_OVERRIDE_DLAA_ON = 1,
NGX_DLAA_OVERRIDE_NUM_VALUES = 2,
NGX_DLAA_OVERRIDE_DEFAULT = NGX_DLAA_OVERRIDE_DLAA_DEFAULT
}
public enum EValues_NGX_DLSSG_MULTI_FRAME_COUNT : uint {
NGX_DLSSG_MULTI_FRAME_COUNT_MIN = 1,
NGX_DLSSG_MULTI_FRAME_COUNT_MAX = 15,
NGX_DLSSG_MULTI_FRAME_COUNT_DEFAULT = 1,
NGX_DLSSG_MULTI_FRAME_COUNT_NUM_VALUES = 3,
}
public enum EValues_NGX_DLSS_FG_OVERRIDE : uint {
NGX_DLSS_FG_OVERRIDE_OFF = 0,
NGX_DLSS_FG_OVERRIDE_ON = 1,
NGX_DLSS_FG_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_FG_OVERRIDE_DEFAULT = NGX_DLSS_FG_OVERRIDE_OFF
}
public enum EValues_NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1 : uint {
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
}
public enum EValues_NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2 : uint {
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
}
public enum EValues_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS : uint {
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NONE = 0x0000,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_PERF_TO_9X = 0x0001,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NUM_VALUES = 2,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_DEFAULT = NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NONE
}
public enum EValues_NGX_DLSS_RR_MODE : uint {
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_PERFORMANCE = 0,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_BALANCED = 1,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_QUALITY = 2,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_SNIPPET_CONTROLLED = 3,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_DLAA = 4,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_ULTRA_PERFORMANCE = 5,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_CUSTOM = 6,
NGX_DLSS_RR_MODE_NUM_VALUES = 7,
NGX_DLSS_RR_MODE_DEFAULT = NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_SNIPPET_CONTROLLED
}
public enum EValues_NGX_DLSS_RR_OVERRIDE : uint {
NGX_DLSS_RR_OVERRIDE_OFF = 0,
NGX_DLSS_RR_OVERRIDE_ON = 1,
NGX_DLSS_RR_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_RR_OVERRIDE_DEFAULT = NGX_DLSS_RR_OVERRIDE_OFF
}
public enum EValues_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION : uint {
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_OFF = 0,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_A = 1,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_B = 2,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_C = 3,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_D = 4,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_E = 5,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_F = 6,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_G = 7,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_H = 8,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_I = 9,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_J = 10,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_K = 11,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_L = 12,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_M = 13,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_N = 14,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_O = 15,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_Latest = 0x00ffffff,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_NUM_VALUES = 17,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_DEFAULT = NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_OFF
}
public enum EValues_NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1 : uint {
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
}
public enum EValues_NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2 : uint {
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
}
public enum EValues_NGX_DLSS_SR_MODE : uint {
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_PERFORMANCE = 0,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_BALANCED = 1,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_QUALITY = 2,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_SNIPPET_CONTROLLED = 3,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_DLAA = 4,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_ULTRA_PERFORMANCE = 5,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_CUSTOM = 6,
NGX_DLSS_SR_MODE_NUM_VALUES = 7,
NGX_DLSS_SR_MODE_DEFAULT = NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_SNIPPET_CONTROLLED
}
public enum EValues_NGX_DLSS_SR_OVERRIDE : uint {
NGX_DLSS_SR_OVERRIDE_OFF = 0,
NGX_DLSS_SR_OVERRIDE_ON = 1,
NGX_DLSS_SR_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_SR_OVERRIDE_DEFAULT = NGX_DLSS_SR_OVERRIDE_OFF
}
public enum EValues_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION : uint {
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_OFF = 0,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_A = 1,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_B = 2,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_C = 3,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_D = 4,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_E = 5,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_F = 6,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_G = 7,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_H = 8,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_I = 9,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_J = 10,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_K = 11,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_L = 12,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_M = 13,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_N = 14,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_O = 15,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_Latest = 0x00ffffff,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_NUM_VALUES = 17,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_DEFAULT = NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_OFF
}
public enum EValues_NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1 : uint {
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
}
public enum EValues_NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2 : uint {
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
}
public enum EValues_NV_QUALITY_UPSCALING : uint {
NV_QUALITY_UPSCALING_OFF = 0,
NV_QUALITY_UPSCALING_ON = 1,
@@ -554,62 +721,64 @@
}
public enum EValues_SHIM_MCCOMPAT : uint {
SHIM_MCCOMPAT_INTEGRATED = 0x00000000,
SHIM_MCCOMPAT_ENABLE = 0x00000001,
SHIM_MCCOMPAT_USER_EDITABLE = 0x00000002,
SHIM_MCCOMPAT_MASK = 0x00000003,
SHIM_MCCOMPAT_VIDEO_MASK = 0x00000004,
SHIM_MCCOMPAT_VARYING_BIT = 0x00000008,
SHIM_MCCOMPAT_AUTO_SELECT = 0x00000010,
SHIM_MCCOMPAT_OVERRIDE_BIT = 0x80000000,
SHIM_MCCOMPAT_INTEGRATED = 0x00000000U,
SHIM_MCCOMPAT_ENABLE = 0x00000001U,
SHIM_MCCOMPAT_USER_EDITABLE = 0x00000002U,
SHIM_MCCOMPAT_MASK = 0x00000003U,
SHIM_MCCOMPAT_VIDEO_MASK = 0x00000004U,
SHIM_MCCOMPAT_VARYING_BIT = 0x00000008U,
SHIM_MCCOMPAT_AUTO_SELECT = 0x00000010U,
SHIM_MCCOMPAT_OVERRIDE_BIT = 0x80000000U,
SHIM_MCCOMPAT_NUM_VALUES = 8,
SHIM_MCCOMPAT_DEFAULT = SHIM_MCCOMPAT_AUTO_SELECT
}
public enum EValues_SHIM_RENDERING_MODE : uint {
SHIM_RENDERING_MODE_INTEGRATED = 0x00000000,
SHIM_RENDERING_MODE_ENABLE = 0x00000001,
SHIM_RENDERING_MODE_USER_EDITABLE = 0x00000002,
SHIM_RENDERING_MODE_MASK = 0x00000003,
SHIM_RENDERING_MODE_VIDEO_MASK = 0x00000004,
SHIM_RENDERING_MODE_VARYING_BIT = 0x00000008,
SHIM_RENDERING_MODE_AUTO_SELECT = 0x00000010,
SHIM_RENDERING_MODE_OVERRIDE_BIT = 0x80000000,
SHIM_RENDERING_MODE_INTEGRATED = 0x00000000U,
SHIM_RENDERING_MODE_ENABLE = 0x00000001U,
SHIM_RENDERING_MODE_USER_EDITABLE = 0x00000002U,
SHIM_RENDERING_MODE_MASK = 0x00000003U,
SHIM_RENDERING_MODE_VIDEO_MASK = 0x00000004U,
SHIM_RENDERING_MODE_VARYING_BIT = 0x00000008U,
SHIM_RENDERING_MODE_AUTO_SELECT = 0x00000010U,
SHIM_RENDERING_MODE_OVERRIDE_BIT = 0x80000000U,
SHIM_RENDERING_MODE_NUM_VALUES = 8,
SHIM_RENDERING_MODE_DEFAULT = SHIM_RENDERING_MODE_AUTO_SELECT
}
public enum EValues_SHIM_RENDERING_OPTIONS : uint {
SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE = 0x00000000,
SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT = 0x00000001,
SHIM_RENDERING_OPTIONS_EHSHELL_DETECT = 0x00000002,
SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT = 0x00000004,
SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT = 0x00000008,
SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES = 0x00000010,
SHIM_RENDERING_OPTIONS_RESERVED1 = 0x00000020,
SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT = 0x00000040,
SHIM_RENDERING_OPTIONS_RESERVED2 = 0x00000080,
SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE = 0x00000100,
SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS = 0x00000200,
SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS = 0x00000400,
SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS = 0x00000800,
SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT = 0x00001000,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING = 0x00002000,
SHIM_RENDERING_OPTIONS_DISABLE_CUDA = 0x00004000,
SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO = 0x00008000,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS = 0x00010000,
SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT = 0x00020000,
SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO = 0x00040000,
SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID = 0x00080000,
SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD = 0x00100000,
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000,
SHIM_RENDERING_OPTIONS_DISABLE_TURING_POWER_POLICY = 0x04000000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 28,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000
SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE = 0x00000000U,
SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT = 0x00000001U,
SHIM_RENDERING_OPTIONS_EHSHELL_DETECT = 0x00000002U,
SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT = 0x00000004U,
SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT = 0x00000008U,
SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES = 0x00000010U,
SHIM_RENDERING_OPTIONS_RESERVED1 = 0x00000020U,
SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT = 0x00000040U,
SHIM_RENDERING_OPTIONS_RESERVED2 = 0x00000080U,
SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE = 0x00000100U,
SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS = 0x00000200U,
SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS = 0x00000400U,
SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS = 0x00000800U,
SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT = 0x00001000U,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING = 0x00002000U,
SHIM_RENDERING_OPTIONS_DISABLE_CUDA = 0x00004000U,
SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO = 0x00008000U,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS = 0x00010000U,
SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT = 0x00020000U,
SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO = 0x00040000U,
SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID = 0x00080000U,
SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD = 0x00100000U,
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000U,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000U,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000U,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000U,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000U,
SHIM_RENDERING_OPTIONS_DISABLE_TURING_POWER_POLICY = 0x04000000U,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH_MDM = 0x08000000U,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH_MDM = 0x10000000U,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 30,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000U
}
public enum EValues_SLI_GPU_COUNT : uint {
@@ -792,14 +961,6 @@
WKS_API_STEREO_MODE_DEFAULT = WKS_API_STEREO_MODE_SHUTTER_GLASSES
}
public enum EValues_WKS_MEMORY_ALLOCATION_POLICY : uint {
WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED = 0x0,
WKS_MEMORY_ALLOCATION_POLICY_MODERATE_PRE_ALLOCATION = 0x1,
WKS_MEMORY_ALLOCATION_POLICY_AGGRESSIVE_PRE_ALLOCATION = 0x2,
WKS_MEMORY_ALLOCATION_POLICY_NUM_VALUES = 3,
WKS_MEMORY_ALLOCATION_POLICY_DEFAULT = WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED
}
public enum EValues_WKS_STEREO_DONGLE_SUPPORT : uint {
WKS_STEREO_DONGLE_SUPPORT_OFF = 0,
WKS_STEREO_DONGLE_SUPPORT_DAC = 1,
@@ -888,7 +1049,7 @@
PS_SHADERDISKCACHE_MAX_SIZE_MIN = 0x0,
PS_SHADERDISKCACHE_MAX_SIZE_MAX = 0xffffffff,
PS_SHADERDISKCACHE_MAX_SIZE_NUM_VALUES = 2,
PS_SHADERDISKCACHE_MAX_SIZE_DEFAULT = 0x1000
PS_SHADERDISKCACHE_MAX_SIZE_DEFAULT = 0x2000
}
public enum EValues_PS_TEXFILTER_ANISO_OPTS2 : uint {

View File

@@ -1,46 +1,36 @@
/***************************************************************************\
|* *|
|* Copyright NVIDIA Corporation. All rights reserved. *|
|* *|
|* NOTICE TO USER: *|
|* *|
|* This source code is subject to NVIDIA ownership rights under U.S. *|
|* and international Copyright laws. Users and possessors of this *|
|* source code are hereby granted a nonexclusive, royalty-free *|
|* license to use this code in individual and commercial software. *|
|* *|
|* NVIDIA MAKES NO REPRESENTATION ABOUT THE SUITABILITY OF THIS SOURCE *|
|* CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" WITHOUT EXPRESS OR *|
|* IMPLIED WARRANTY OF ANY KIND. NVIDIA DISCLAIMS ALL WARRANTIES WITH *|
|* REGARD TO THIS SOURCE CODE, INCLUDING ALL IMPLIED WARRANTIES OF *|
|* MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR *|
|* PURPOSE. IN NO EVENT SHALL NVIDIA BE LIABLE FOR ANY SPECIAL, *|
|* INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES *|
|* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN *|
|* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING *|
|* OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE *|
|* CODE. *|
|* *|
|* U.S. Government End Users. This source code is a "commercial item" *|
|* as that term is defined at 48 C.F.R. 2.101 (OCT 1995), consisting *|
|* of "commercial computer software" and "commercial computer software *|
|* documentation" as such terms are used in 48 C.F.R. 12.212 (SEPT 1995) *|
|* and is provided to the U.S. Government only as a commercial end item. *|
|* Consistent with 48 C.F.R.12.212 and 48 C.F.R. 227.7202-1 through *|
|* 227.7202-4 (JUNE 1995), all U.S. Government End Users acquire the *|
|* source code with only those rights set forth herein. *|
|* *|
|* Any use of this source code in individual and commercial software must *|
|* include, in the user documentation and internal comments to the code, *|
|* the above Disclaimer and U.S. Government End Users Notice. *|
|* *|
|* *|
\***************************************************************************/
/*********************************************************************************************************\
|* *|
|* SPDX-FileCopyrightText: Copyright (c) 2019-2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. *|
|* SPDX-License-Identifier: MIT *|
|* *|
|* Permission is hereby granted, free of charge, to any person obtaining a *|
|* copy of this software and associated documentation files (the "Software"), *|
|* to deal in the Software without restriction, including without limitation *|
|* the rights to use, copy, modify, merge, publish, distribute, sublicense, *|
|* and/or sell copies of the Software, and to permit persons to whom the *|
|* Software is furnished to do so, subject to the following conditions: *|
|* *|
|* The above copyright notice and this permission notice shall be included in *|
|* all copies or substantial portions of the Software. *|
|* *|
|* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR *|
|* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, *|
|* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL *|
|* THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *|
|* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING *|
|* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER *|
|* DEALINGS IN THE SOFTWARE. *|
|* *|
|* *|
\*********************************************************************************************************/
#ifndef _NVAPI_DRIVER_SETTINGS_H_
#define _NVAPI_DRIVER_SETTINGS_H_
#define OGL_AA_LINE_GAMMA_STRING L"Antialiasing - Line gamma"
#define OGL_CPL_GDI_COMPATIBILITY_STRING L"OpenGL GDI compatibility"
#define OGL_CPL_PREFER_DXPRESENT_STRING L"Vulkan/OpenGL present method"
#define OGL_DEEP_COLOR_SCANOUT_STRING L"Deep color for 3D applications"
#define OGL_DEFAULT_SWAP_INTERVAL_STRING L"OpenGL default swap interval"
#define OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_STRING L"OpenGL default swap interval fraction"
@@ -55,7 +45,6 @@
#define OGL_OVERLAY_SUPPORT_STRING L"Enable overlay"
#define OGL_QUALITY_ENHANCEMENTS_STRING L"High level control of the rendering quality on OpenGL"
#define OGL_SINGLE_BACKDEPTH_BUFFER_STRING L"Unified back/depth buffer"
#define OGL_SLI_CFR_MODE_STRING L"Set CFR mode"
#define OGL_SLI_MULTICAST_STRING L"Enable NV_gpu_multicast extension"
#define OGL_THREAD_CONTROL_STRING L"Threaded optimization"
#define OGL_TMON_LEVEL_STRING L"Event Log Tmon Severity Threshold"
@@ -72,6 +61,8 @@
#define ANSEL_ALLOW_STRING L"NVIDIA Predefined Ansel Usage"
#define ANSEL_ALLOWLISTED_STRING L"Ansel flags for enabled applications"
#define ANSEL_ENABLE_STRING L"Enable Ansel"
#define APPIDLE_DYNAMIC_FRL_FPS_STRING L"Idle Application Max FPS Limit"
#define APPIDLE_DYNAMIC_FRL_THRESHOLD_TIME_STRING L"Idle Application Threshold Time out in seconds"
#define APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_STRING L"Application Profile Notification Popup Timeout"
#define APPLICATION_STEAM_ID_STRING L"Steam Application ID"
#define BATTERY_BOOST_APP_FPS_STRING L"Battery Boost Application FPS"
@@ -86,6 +77,22 @@
#define FXAA_INDICATOR_ENABLE_STRING L"Enable FXAA Indicator"
#define LATENCY_INDICATOR_AUTOALIGN_STRING L"Autoalign flash indicator"
#define MCSFRSHOWSPLIT_STRING L"SLI indicator"
#define NGX_DLAA_OVERRIDE_STRING L"Override DLSS mode to be DLAA"
#define NGX_DLSSG_MULTI_FRAME_COUNT_STRING L"Override DLSSG multi-frame count"
#define NGX_DLSS_FG_OVERRIDE_STRING L"Enable DLSS-FG override"
#define NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_STRING L"Override reserved key 1 for FG"
#define NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_STRING L"Override reserved key 2 for FG"
#define NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_STRING L"Override DLSS performance mode to be ultra-perfomance"
#define NGX_DLSS_RR_MODE_STRING L"Override DLSS-RR performance mode"
#define NGX_DLSS_RR_OVERRIDE_STRING L"Enable DLSS-RR override"
#define NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_STRING L"Override DLSS-RR preset"
#define NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_STRING L"Override reserved key 1 for RR"
#define NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_STRING L"Override reserved key 2 for RR"
#define NGX_DLSS_SR_MODE_STRING L"Override DLSS-SR performance mode"
#define NGX_DLSS_SR_OVERRIDE_STRING L"Enable DLSS-SR override"
#define NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_STRING L"Override DLSS-SR presets"
#define NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_STRING L"Override reserved key 1 for SR"
#define NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_STRING L"Override reserved key 2 for SR"
#define NV_QUALITY_UPSCALING_STRING L"NVIDIA Quality upscaling"
#define OPTIMUS_MAXAA_STRING L"Maximum AA samples allowed for a given application"
#define PHYSXINDICATOR_STRING L"Display the PhysX indicator"
@@ -113,7 +120,6 @@
#define VSYNC_BEHAVIOR_FLAGS_STRING L"Vsync - Behavior Flags"
#define WKS_API_STEREO_EYES_EXCHANGE_STRING L"Stereo - Swap eyes"
#define WKS_API_STEREO_MODE_STRING L"Stereo - Display mode"
#define WKS_MEMORY_ALLOCATION_POLICY_STRING L"Memory Allocation Policy"
#define WKS_STEREO_DONGLE_SUPPORT_STRING L"Stereo - Dongle Support"
#define WKS_STEREO_SUPPORT_STRING L"Stereo - Enable"
#define WKS_STEREO_SWAP_MODE_STRING L"Stereo - swap mode"
@@ -126,6 +132,7 @@
#define MAXWELL_B_SAMPLE_INTERLEAVE_STRING L"Enable sample interleaving (MFAA)"
#define PRERENDERLIMIT_STRING L"Maximum pre-rendered frames"
#define PS_SHADERDISKCACHE_STRING L"Shader Cache"
#define PS_SHADERDISKCACHE_DLL_PATH_WCHAR_STRING L"shader cache path to dll"
#define PS_SHADERDISKCACHE_MAX_SIZE_STRING L"Shader disk cache maximum size"
#define PS_TEXFILTER_ANISO_OPTS2_STRING L"Texture filtering - Anisotropic sample optimization"
#define PS_TEXFILTER_BILINEAR_IN_ANISO_STRING L"Texture filtering - Anisotropic filter optimization"
@@ -141,6 +148,8 @@
enum ESetting {
OGL_AA_LINE_GAMMA_ID = 0x2089BF6C,
OGL_CPL_GDI_COMPATIBILITY_ID = 0x2072C5A3,
OGL_CPL_PREFER_DXPRESENT_ID = 0x20D690F8,
OGL_DEEP_COLOR_SCANOUT_ID = 0x2097C2F6,
OGL_DEFAULT_SWAP_INTERVAL_ID = 0x206A6582,
OGL_DEFAULT_SWAP_INTERVAL_FRACTIONAL_ID = 0x206C4581,
@@ -155,7 +164,6 @@ enum ESetting {
OGL_OVERLAY_SUPPORT_ID = 0x206C28C4,
OGL_QUALITY_ENHANCEMENTS_ID = 0x20797D6C,
OGL_SINGLE_BACKDEPTH_BUFFER_ID = 0x20A29055,
OGL_SLI_CFR_MODE_ID = 0x20343843,
OGL_SLI_MULTICAST_ID = 0x2092D3BE,
OGL_THREAD_CONTROL_ID = 0x20C1221E,
OGL_TMON_LEVEL_ID = 0x202888C1,
@@ -172,6 +180,8 @@ enum ESetting {
ANSEL_ALLOW_ID = 0x1035DB89,
ANSEL_ALLOWLISTED_ID = 0x1085DA8A,
ANSEL_ENABLE_ID = 0x1075D972,
APPIDLE_DYNAMIC_FRL_FPS_ID = 0x10835016,
APPIDLE_DYNAMIC_FRL_THRESHOLD_TIME_ID = 0x10835017,
APPLICATION_PROFILE_NOTIFICATION_TIMEOUT_ID = 0x104554B6,
APPLICATION_STEAM_ID_ID = 0x107CDDBC,
BATTERY_BOOST_APP_FPS_ID = 0x10115C8C,
@@ -186,6 +196,22 @@ enum ESetting {
FXAA_INDICATOR_ENABLE_ID = 0x1068FB9C,
LATENCY_INDICATOR_AUTOALIGN_ID = 0x1095F170,
MCSFRSHOWSPLIT_ID = 0x10287051,
NGX_DLAA_OVERRIDE_ID = 0x10E41DF4,
NGX_DLSSG_MULTI_FRAME_COUNT_ID = 0x104D6667,
NGX_DLSS_FG_OVERRIDE_ID = 0x10E41E03,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D57E,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D519,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_ID = 0x10AFB76C,
NGX_DLSS_RR_MODE_ID = 0x10BD9423,
NGX_DLSS_RR_OVERRIDE_ID = 0x10E41E02,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_ID = 0x10E41DF7,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D86C,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D597,
NGX_DLSS_SR_MODE_ID = 0x10AFB768,
NGX_DLSS_SR_OVERRIDE_ID = 0x10E41E01,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_ID = 0x10E41DF3,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_ID = 0x10C7D684,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_ID = 0x10C7D82C,
NV_QUALITY_UPSCALING_ID = 0x10444444,
OPTIMUS_MAXAA_ID = 0x10F9DC83,
PHYSXINDICATOR_ID = 0x1094F16F,
@@ -213,7 +239,6 @@ enum ESetting {
VSYNC_BEHAVIOR_FLAGS_ID = 0x10FDEC23,
WKS_API_STEREO_EYES_EXCHANGE_ID = 0x11AE435C,
WKS_API_STEREO_MODE_ID = 0x11E91A61,
WKS_MEMORY_ALLOCATION_POLICY_ID = 0x11112233,
WKS_STEREO_DONGLE_SUPPORT_ID = 0x112493BD,
WKS_STEREO_SUPPORT_ID = 0x11AA9E99,
WKS_STEREO_SWAP_MODE_ID = 0x11333333,
@@ -226,6 +251,7 @@ enum ESetting {
MAXWELL_B_SAMPLE_INTERLEAVE_ID = 0x0098C1AC,
PRERENDERLIMIT_ID = 0x007BA09E,
PS_SHADERDISKCACHE_ID = 0x00198FFF,
PS_SHADERDISKCACHE_DLL_PATH_WCHAR_ID = 0x0019A002,
PS_SHADERDISKCACHE_MAX_SIZE_ID = 0x00AC8497,
PS_TEXFILTER_ANISO_OPTS2_ID = 0x00E73211,
PS_TEXFILTER_BILINEAR_IN_ANISO_ID = 0x0084CD70,
@@ -238,9 +264,9 @@ enum ESetting {
SET_VAB_DATA_ID = 0x00AB8687,
VSYNCMODE_ID = 0x00A879CF,
VSYNCTEARCONTROL_ID = 0x005A375C,
TOTAL_DWORD_SETTING_NUM = 94,
TOTAL_WSTRING_SETTING_NUM = 4,
TOTAL_SETTING_NUM = 98,
TOTAL_DWORD_SETTING_NUM = 112,
TOTAL_WSTRING_SETTING_NUM = 5,
TOTAL_SETTING_NUM = 117,
INVALID_SETTING_ID = 0xFFFFFFFF
};
@@ -253,6 +279,22 @@ enum EValues_OGL_AA_LINE_GAMMA {
OGL_AA_LINE_GAMMA_DEFAULT = OGL_AA_LINE_GAMMA_DISABLED
};
enum EValues_OGL_CPL_GDI_COMPATIBILITY {
OGL_CPL_GDI_COMPATIBILITY_PREFER_DISABLED = 0x00000000,
OGL_CPL_GDI_COMPATIBILITY_PREFER_ENABLED = 0x00000001,
OGL_CPL_GDI_COMPATIBILITY_AUTO = 0x00000002,
OGL_CPL_GDI_COMPATIBILITY_NUM_VALUES = 3,
OGL_CPL_GDI_COMPATIBILITY_DEFAULT = OGL_CPL_GDI_COMPATIBILITY_AUTO
};
enum EValues_OGL_CPL_PREFER_DXPRESENT {
OGL_CPL_PREFER_DXPRESENT_PREFER_DISABLED = 0x00000000,
OGL_CPL_PREFER_DXPRESENT_PREFER_ENABLED = 0x00000001,
OGL_CPL_PREFER_DXPRESENT_AUTO = 0x00000002,
OGL_CPL_PREFER_DXPRESENT_NUM_VALUES = 3,
OGL_CPL_PREFER_DXPRESENT_DEFAULT = OGL_CPL_PREFER_DXPRESENT_AUTO
};
enum EValues_OGL_DEEP_COLOR_SCANOUT {
OGL_DEEP_COLOR_SCANOUT_DISABLE = 0,
OGL_DEEP_COLOR_SCANOUT_ENABLE = 1,
@@ -351,14 +393,6 @@ enum EValues_OGL_SINGLE_BACKDEPTH_BUFFER {
OGL_SINGLE_BACKDEPTH_BUFFER_DEFAULT = OGL_SINGLE_BACKDEPTH_BUFFER_DISABLE
};
enum EValues_OGL_SLI_CFR_MODE {
OGL_SLI_CFR_MODE_DISABLE = 0x00,
OGL_SLI_CFR_MODE_ENABLE = 0x01,
OGL_SLI_CFR_MODE_CLASSIC_SFR = 0x02,
OGL_SLI_CFR_MODE_NUM_VALUES = 3,
OGL_SLI_CFR_MODE_DEFAULT = OGL_SLI_CFR_MODE_DISABLE
};
enum EValues_OGL_SLI_MULTICAST {
OGL_SLI_MULTICAST_DISABLE = 0x00,
OGL_SLI_MULTICAST_ENABLE = 0x01,
@@ -664,6 +698,146 @@ enum EValues_MCSFRSHOWSPLIT {
MCSFRSHOWSPLIT_DEFAULT = MCSFRSHOWSPLIT_DISABLED
};
enum EValues_NGX_DLAA_OVERRIDE {
NGX_DLAA_OVERRIDE_DLAA_DEFAULT = 0,
NGX_DLAA_OVERRIDE_DLAA_ON = 1,
NGX_DLAA_OVERRIDE_NUM_VALUES = 2,
NGX_DLAA_OVERRIDE_DEFAULT = NGX_DLAA_OVERRIDE_DLAA_DEFAULT
};
enum EValues_NGX_DLSSG_MULTI_FRAME_COUNT {
NGX_DLSSG_MULTI_FRAME_COUNT_MIN = 1,
NGX_DLSSG_MULTI_FRAME_COUNT_MAX = 15,
NGX_DLSSG_MULTI_FRAME_COUNT_DEFAULT = 1,
NGX_DLSSG_MULTI_FRAME_COUNT_NUM_VALUES = 3,
};
enum EValues_NGX_DLSS_FG_OVERRIDE {
NGX_DLSS_FG_OVERRIDE_OFF = 0,
NGX_DLSS_FG_OVERRIDE_ON = 1,
NGX_DLSS_FG_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_FG_OVERRIDE_DEFAULT = NGX_DLSS_FG_OVERRIDE_OFF
};
enum EValues_NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1 {
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
};
enum EValues_NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2 {
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_FG_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
};
enum EValues_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS {
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NONE = 0x0000,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_PERF_TO_9X = 0x0001,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NUM_VALUES = 2,
NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_DEFAULT = NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NGX_DLSS_OVERRIDE_OPTIMAL_SETTINGS_NONE
};
enum EValues_NGX_DLSS_RR_MODE {
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_PERFORMANCE = 0,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_BALANCED = 1,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_QUALITY = 2,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_SNIPPET_CONTROLLED = 3,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_DLAA = 4,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_ULTRA_PERFORMANCE = 5,
NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_CUSTOM = 6,
NGX_DLSS_RR_MODE_NUM_VALUES = 7,
NGX_DLSS_RR_MODE_DEFAULT = NGX_DLSS_RR_MODE_NGX_DLSS_RR_MODE_SNIPPET_CONTROLLED
};
enum EValues_NGX_DLSS_RR_OVERRIDE {
NGX_DLSS_RR_OVERRIDE_OFF = 0,
NGX_DLSS_RR_OVERRIDE_ON = 1,
NGX_DLSS_RR_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_RR_OVERRIDE_DEFAULT = NGX_DLSS_RR_OVERRIDE_OFF
};
enum EValues_NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION {
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_OFF = 0,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_A = 1,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_B = 2,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_C = 3,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_D = 4,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_E = 5,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_F = 6,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_G = 7,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_H = 8,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_I = 9,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_J = 10,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_K = 11,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_L = 12,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_M = 13,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_N = 14,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_O = 15,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_Latest = 0x00ffffff,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_NUM_VALUES = 17,
NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_DEFAULT = NGX_DLSS_RR_OVERRIDE_RENDER_PRESET_SELECTION_OFF
};
enum EValues_NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1 {
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
};
enum EValues_NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2 {
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_RR_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
};
enum EValues_NGX_DLSS_SR_MODE {
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_PERFORMANCE = 0,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_BALANCED = 1,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_QUALITY = 2,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_SNIPPET_CONTROLLED = 3,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_DLAA = 4,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_ULTRA_PERFORMANCE = 5,
NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_CUSTOM = 6,
NGX_DLSS_SR_MODE_NUM_VALUES = 7,
NGX_DLSS_SR_MODE_DEFAULT = NGX_DLSS_SR_MODE_NGX_DLSS_SR_MODE_SNIPPET_CONTROLLED
};
enum EValues_NGX_DLSS_SR_OVERRIDE {
NGX_DLSS_SR_OVERRIDE_OFF = 0,
NGX_DLSS_SR_OVERRIDE_ON = 1,
NGX_DLSS_SR_OVERRIDE_NUM_VALUES = 2,
NGX_DLSS_SR_OVERRIDE_DEFAULT = NGX_DLSS_SR_OVERRIDE_OFF
};
enum EValues_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION {
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_OFF = 0,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_A = 1,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_B = 2,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_C = 3,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_D = 4,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_E = 5,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_F = 6,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_G = 7,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_H = 8,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_I = 9,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_J = 10,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_K = 11,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_L = 12,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_M = 13,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_N = 14,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_O = 15,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_RENDER_PRESET_Latest = 0x00ffffff,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_NUM_VALUES = 17,
NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_DEFAULT = NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION_OFF
};
enum EValues_NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1 {
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_DEFAULT = 0,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY1_NUM_VALUES = 1,
};
enum EValues_NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2 {
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_DEFAULT = 0,
NGX_DLSS_SR_OVERRIDE_RESERVED_KEY2_NUM_VALUES = 1,
};
enum EValues_NV_QUALITY_UPSCALING {
NV_QUALITY_UPSCALING_OFF = 0,
NV_QUALITY_UPSCALING_ON = 1,
@@ -706,62 +880,64 @@ enum EValues_PREVENT_UI_AF_OVERRIDE {
};
enum EValues_SHIM_MCCOMPAT {
SHIM_MCCOMPAT_INTEGRATED = 0x00000000,
SHIM_MCCOMPAT_ENABLE = 0x00000001,
SHIM_MCCOMPAT_USER_EDITABLE = 0x00000002,
SHIM_MCCOMPAT_MASK = 0x00000003,
SHIM_MCCOMPAT_VIDEO_MASK = 0x00000004,
SHIM_MCCOMPAT_VARYING_BIT = 0x00000008,
SHIM_MCCOMPAT_AUTO_SELECT = 0x00000010,
SHIM_MCCOMPAT_OVERRIDE_BIT = 0x80000000,
SHIM_MCCOMPAT_INTEGRATED = 0x00000000U,
SHIM_MCCOMPAT_ENABLE = 0x00000001U,
SHIM_MCCOMPAT_USER_EDITABLE = 0x00000002U,
SHIM_MCCOMPAT_MASK = 0x00000003U,
SHIM_MCCOMPAT_VIDEO_MASK = 0x00000004U,
SHIM_MCCOMPAT_VARYING_BIT = 0x00000008U,
SHIM_MCCOMPAT_AUTO_SELECT = 0x00000010U,
SHIM_MCCOMPAT_OVERRIDE_BIT = 0x80000000U,
SHIM_MCCOMPAT_NUM_VALUES = 8,
SHIM_MCCOMPAT_DEFAULT = SHIM_MCCOMPAT_AUTO_SELECT
};
enum EValues_SHIM_RENDERING_MODE {
SHIM_RENDERING_MODE_INTEGRATED = 0x00000000,
SHIM_RENDERING_MODE_ENABLE = 0x00000001,
SHIM_RENDERING_MODE_USER_EDITABLE = 0x00000002,
SHIM_RENDERING_MODE_MASK = 0x00000003,
SHIM_RENDERING_MODE_VIDEO_MASK = 0x00000004,
SHIM_RENDERING_MODE_VARYING_BIT = 0x00000008,
SHIM_RENDERING_MODE_AUTO_SELECT = 0x00000010,
SHIM_RENDERING_MODE_OVERRIDE_BIT = 0x80000000,
SHIM_RENDERING_MODE_INTEGRATED = 0x00000000U,
SHIM_RENDERING_MODE_ENABLE = 0x00000001U,
SHIM_RENDERING_MODE_USER_EDITABLE = 0x00000002U,
SHIM_RENDERING_MODE_MASK = 0x00000003U,
SHIM_RENDERING_MODE_VIDEO_MASK = 0x00000004U,
SHIM_RENDERING_MODE_VARYING_BIT = 0x00000008U,
SHIM_RENDERING_MODE_AUTO_SELECT = 0x00000010U,
SHIM_RENDERING_MODE_OVERRIDE_BIT = 0x80000000U,
SHIM_RENDERING_MODE_NUM_VALUES = 8,
SHIM_RENDERING_MODE_DEFAULT = SHIM_RENDERING_MODE_AUTO_SELECT
};
enum EValues_SHIM_RENDERING_OPTIONS {
SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE = 0x00000000,
SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT = 0x00000001,
SHIM_RENDERING_OPTIONS_EHSHELL_DETECT = 0x00000002,
SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT = 0x00000004,
SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT = 0x00000008,
SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES = 0x00000010,
SHIM_RENDERING_OPTIONS_RESERVED1 = 0x00000020,
SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT = 0x00000040,
SHIM_RENDERING_OPTIONS_RESERVED2 = 0x00000080,
SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE = 0x00000100,
SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS = 0x00000200,
SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS = 0x00000400,
SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS = 0x00000800,
SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT = 0x00001000,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING = 0x00002000,
SHIM_RENDERING_OPTIONS_DISABLE_CUDA = 0x00004000,
SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO = 0x00008000,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS = 0x00010000,
SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT = 0x00020000,
SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO = 0x00040000,
SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID = 0x00080000,
SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD = 0x00100000,
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000,
SHIM_RENDERING_OPTIONS_DISABLE_TURING_POWER_POLICY = 0x04000000,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 28,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000
SHIM_RENDERING_OPTIONS_DEFAULT_RENDERING_MODE = 0x00000000U,
SHIM_RENDERING_OPTIONS_DISABLE_ASYNC_PRESENT = 0x00000001U,
SHIM_RENDERING_OPTIONS_EHSHELL_DETECT = 0x00000002U,
SHIM_RENDERING_OPTIONS_FLASHPLAYER_HOST_DETECT = 0x00000004U,
SHIM_RENDERING_OPTIONS_VIDEO_DRM_APP_DETECT = 0x00000008U,
SHIM_RENDERING_OPTIONS_IGNORE_OVERRIDES = 0x00000010U,
SHIM_RENDERING_OPTIONS_RESERVED1 = 0x00000020U,
SHIM_RENDERING_OPTIONS_ENABLE_DWM_ASYNC_PRESENT = 0x00000040U,
SHIM_RENDERING_OPTIONS_RESERVED2 = 0x00000080U,
SHIM_RENDERING_OPTIONS_ALLOW_INHERITANCE = 0x00000100U,
SHIM_RENDERING_OPTIONS_DISABLE_WRAPPERS = 0x00000200U,
SHIM_RENDERING_OPTIONS_DISABLE_DXGI_WRAPPERS = 0x00000400U,
SHIM_RENDERING_OPTIONS_PRUNE_UNSUPPORTED_FORMATS = 0x00000800U,
SHIM_RENDERING_OPTIONS_ENABLE_ALPHA_FORMAT = 0x00001000U,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING = 0x00002000U,
SHIM_RENDERING_OPTIONS_DISABLE_CUDA = 0x00004000U,
SHIM_RENDERING_OPTIONS_ALLOW_CP_CAPS_FOR_VIDEO = 0x00008000U,
SHIM_RENDERING_OPTIONS_IGPU_TRANSCODING_FWD_OPTIMUS = 0x00010000U,
SHIM_RENDERING_OPTIONS_DISABLE_DURING_SECURE_BOOT = 0x00020000U,
SHIM_RENDERING_OPTIONS_INVERT_FOR_QUADRO = 0x00040000U,
SHIM_RENDERING_OPTIONS_INVERT_FOR_MSHYBRID = 0x00080000U,
SHIM_RENDERING_OPTIONS_REGISTER_PROCESS_ENABLE_GOLD = 0x00100000U,
SHIM_RENDERING_OPTIONS_HANDLE_WINDOWED_MODE_PERF_OPT = 0x00200000U,
SHIM_RENDERING_OPTIONS_HANDLE_WIN7_ASYNC_RUNTIME_BUG = 0x00400000U,
SHIM_RENDERING_OPTIONS_EXPLICIT_ADAPTER_OPTED_BY_APP = 0x00800000U,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x01000000U,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH = 0x02000000U,
SHIM_RENDERING_OPTIONS_DISABLE_TURING_POWER_POLICY = 0x04000000U,
SHIM_RENDERING_OPTIONS_ALLOW_DYNAMIC_DISPLAY_MUX_SWITCH_MDM = 0x08000000U,
SHIM_RENDERING_OPTIONS_DISALLOW_DYNAMIC_DISPLAY_MUX_SWITCH_MDM = 0x10000000U,
SHIM_RENDERING_OPTIONS_NUM_VALUES = 30,
SHIM_RENDERING_OPTIONS_DEFAULT = 0x00000000U
};
enum EValues_SLI_GPU_COUNT {
@@ -944,14 +1120,6 @@ enum EValues_WKS_API_STEREO_MODE {
WKS_API_STEREO_MODE_DEFAULT = WKS_API_STEREO_MODE_SHUTTER_GLASSES
};
enum EValues_WKS_MEMORY_ALLOCATION_POLICY {
WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED = 0x0,
WKS_MEMORY_ALLOCATION_POLICY_MODERATE_PRE_ALLOCATION = 0x1,
WKS_MEMORY_ALLOCATION_POLICY_AGGRESSIVE_PRE_ALLOCATION = 0x2,
WKS_MEMORY_ALLOCATION_POLICY_NUM_VALUES = 3,
WKS_MEMORY_ALLOCATION_POLICY_DEFAULT = WKS_MEMORY_ALLOCATION_POLICY_AS_NEEDED
};
enum EValues_WKS_STEREO_DONGLE_SUPPORT {
WKS_STEREO_DONGLE_SUPPORT_OFF = 0,
WKS_STEREO_DONGLE_SUPPORT_DAC = 1,
@@ -1040,7 +1208,7 @@ enum EValues_PS_SHADERDISKCACHE_MAX_SIZE {
PS_SHADERDISKCACHE_MAX_SIZE_MIN = 0x0,
PS_SHADERDISKCACHE_MAX_SIZE_MAX = 0xffffffff,
PS_SHADERDISKCACHE_MAX_SIZE_NUM_VALUES = 2,
PS_SHADERDISKCACHE_MAX_SIZE_DEFAULT = 0x1000
PS_SHADERDISKCACHE_MAX_SIZE_DEFAULT = 0x2000
};
enum EValues_PS_TEXFILTER_ANISO_OPTS2 {
@@ -1152,4 +1320,3 @@ typedef struct _SettingWSTRINGNameString {
#endif // _NVAPI_DRIVER_SETTINGS_H_

View File

@@ -424,13 +424,17 @@ namespace nspector.Native.NVAPI2
}
}
private static void GetDelegate<T>(uint id, out T newDelegate) where T : class
private static void GetDelegate<T>(uint id, out T newDelegate, uint? fallbackId = null) where T : class
{
IntPtr ptr = nvapi_QueryInterface(id);
if (ptr != IntPtr.Zero)
{
newDelegate = Marshal.GetDelegateForFunctionPointer(ptr, typeof(T)) as T;
}
else if (fallbackId.HasValue)
{
GetDelegate(fallbackId.Value, out newDelegate);
}
else
{
newDelegate = null;
@@ -604,6 +608,7 @@ namespace nspector.Native.NVAPI2
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
public delegate NvAPI_Status DRS_GetSettingDelegate(IntPtr hSession, IntPtr hProfile, uint settingId, ref NVDRS_SETTING pSetting, ref uint x);
private static readonly DRS_GetSettingDelegate _DRS_GetSetting;
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
private delegate NvAPI_Status DRS_EnumSettingsDelegate(IntPtr hSession, IntPtr hProfile, uint startIndex, ref uint settingsCount, IntPtr pSetting);
@@ -739,20 +744,19 @@ namespace nspector.Native.NVAPI2
GetDelegate(0xED1F8C69, out DRS_GetApplicationInfo);
GetDelegate(0x7FA2173A, out DRS_EnumApplicationsInternal);
GetDelegate(0xEEE566B2, out DRS_FindApplicationByName);
GetDelegate(0x8A2CF5F5, out _DRS_SetSetting);
GetDelegate(0xEA99498D, out _DRS_GetSetting);
GetDelegate(0xCFD6983E, out DRS_EnumSettingsInternal);
GetDelegate(0xE5DE48E5, out DRS_EnumAvailableSettingIdsInternal);
GetDelegate(0x8A2CF5F5, out _DRS_SetSetting, 0x577DD202);
GetDelegate(0xEA99498D, out _DRS_GetSetting, 0x73BF8338);
GetDelegate(0xCFD6983E, out DRS_EnumSettingsInternal, 0xAE3039DA);
GetDelegate(0xE5DE48E5, out DRS_EnumAvailableSettingIdsInternal, 0xF020614A);
GetDelegate(0x2EC39F90, out DRS_EnumAvailableSettingValuesInternal);
GetDelegate(0xCB7309CD, out DRS_GetSettingIdFromName);
GetDelegate(0x1EB13791, out DRS_GetSettingNameFromId);
GetDelegate(0xE4A26362, out DRS_DeleteProfileSetting);
GetDelegate(0x1EB13791, out DRS_GetSettingNameFromId, 0xD61CBE6E);
GetDelegate(0xD20D29DF, out DRS_DeleteProfileSetting, 0xE4A26362);
GetDelegate(0x5927B094, out DRS_RestoreAllDefaults);
GetDelegate(0xFA5F6134, out DRS_RestoreProfileDefault);
GetDelegate(0x7DD5B261, out DRS_RestoreProfileDefaultSetting);
GetDelegate(0x7DD5B261, out DRS_RestoreProfileDefaultSetting, 0x53F0381E);
GetDelegate(0xDA8466A0, out DRS_GetBaseProfile);
#endregion
}
}
}

View File

@@ -35,7 +35,7 @@ namespace nspector
if (argFileIndex != -1)
{
if (new FileInfo(args[argFileIndex]).Extension.ToLower() == ".nip")
if (new FileInfo(args[argFileIndex]).Extension.ToLowerInvariant() == ".nip")
{
try
{

View File

@@ -10,7 +10,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("NVIDIA Profile Inspector")]
[assembly: AssemblyCopyright("©2022 by Orbmu2k")]
[assembly: AssemblyCopyright("©2025 by Orbmu2k")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

View File

@@ -73,19 +73,19 @@ namespace nspector.Properties {
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die &lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
///&lt;CustomSettingNames&gt;
/// &lt;Settings&gt;
/// &lt;CustomSetting&gt;
/// &lt;UserfriendlyName&gt;VRR Support Indicator&lt;/UserfriendlyName&gt;
/// &lt;HexSettingID&gt;0x8df510&lt;/HexSettingID&gt;
/// &lt;GroupName&gt;2 - Sync and Refresh&lt;/GroupName&gt;
/// &lt;SettingValues&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;Off&lt;/UserfriendlyName&gt;
/// &lt;HexValue&gt;0x00000000&lt;/HexValue&gt;
/// &lt;/CustomSettingValue&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;On&lt;/UserfriendlyName&gt;
/// &lt;HexValue&gt;0x0000000 [Rest der Zeichenfolge wurde abgeschnitten]&quot;; ähnelt.
/// &lt;Settings&gt;
/// &lt;CustomSetting&gt;
/// &lt;UserfriendlyName&gt;DLSS - Enable DLL Override&lt;/UserfriendlyName&gt;
/// &lt;HexSettingID&gt;0x10E41E01&lt;/HexSettingID&gt;
/// &lt;GroupName&gt;5 - Common&lt;/GroupName&gt;
/// &lt;MinRequiredDriverVersion&gt;0&lt;/MinRequiredDriverVersion&gt;
/// &lt;SettingValues&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;Off&lt;/UserfriendlyName&gt;
/// &lt;HexValue&gt;0x00000000&lt;/HexValue&gt;
/// &lt;/CustomSettingValue&gt;
/// &lt;CustomSettingValue&gt;
/// &lt;UserfriendlyName&gt;On [Rest der Zeichenfolge wurde abgeschnitten]&quot;; ähnelt.
/// </summary>
public static string CustomSettingNames {
get {

View File

@@ -3250,6 +3250,10 @@
<UserfriendlyName>ENABLE_NON_STEREO - enable DX present on non-stereo windows</UserfriendlyName>
<HexValue>0x00000008</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Allow DXVK promotion</UserfriendlyName>
<HexValue>0x00080000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>ENABLE_FULLSCREEN_WIN7_STEREO - enable Win7 fullscreen stereo mechanism</UserfriendlyName>
<HexValue>0x10000000</HexValue>

View File

@@ -1,3 +1,3 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8"/></startup></configuration>
<startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.8.1"/></startup></configuration>

View File

@@ -49,10 +49,10 @@
// btnClose
//
this.btnClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnClose.Location = new System.Drawing.Point(914, 806);
this.btnClose.Margin = new System.Windows.Forms.Padding(4);
this.btnClose.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.btnClose.Location = new System.Drawing.Point(731, 645);
this.btnClose.Name = "btnClose";
this.btnClose.Size = new System.Drawing.Size(132, 29);
this.btnClose.Size = new System.Drawing.Size(106, 23);
this.btnClose.TabIndex = 1;
this.btnClose.Text = "Apply && Close";
this.btnClose.UseVisualStyleBackColor = true;
@@ -62,10 +62,9 @@
//
this.lValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lValue.AutoSize = true;
this.lValue.Location = new System.Drawing.Point(21, 813);
this.lValue.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lValue.Location = new System.Drawing.Point(17, 650);
this.lValue.Name = "lValue";
this.lValue.Size = new System.Drawing.Size(48, 17);
this.lValue.Size = new System.Drawing.Size(37, 13);
this.lValue.TabIndex = 2;
this.lValue.Text = "Value:";
//
@@ -73,10 +72,9 @@
//
this.lFilter.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.lFilter.AutoSize = true;
this.lFilter.Location = new System.Drawing.Point(187, 813);
this.lFilter.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lFilter.Location = new System.Drawing.Point(150, 650);
this.lFilter.Name = "lFilter";
this.lFilter.Size = new System.Drawing.Size(87, 17);
this.lFilter.Size = new System.Drawing.Size(64, 13);
this.lFilter.TabIndex = 23;
this.lFilter.Text = "Profile Filter:";
//
@@ -84,20 +82,18 @@
//
this.tbFilter.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbFilter.Location = new System.Drawing.Point(274, 809);
this.tbFilter.Margin = new System.Windows.Forms.Padding(4);
this.tbFilter.Location = new System.Drawing.Point(219, 647);
this.tbFilter.Name = "tbFilter";
this.tbFilter.Size = new System.Drawing.Size(632, 22);
this.tbFilter.Size = new System.Drawing.Size(506, 20);
this.tbFilter.TabIndex = 24;
this.tbFilter.TextChanged += new System.EventHandler(this.tbFilter_TextChanged);
//
// textBox1
//
this.textBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.textBox1.Location = new System.Drawing.Point(74, 809);
this.textBox1.Margin = new System.Windows.Forms.Padding(4);
this.textBox1.Location = new System.Drawing.Point(59, 647);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(86, 22);
this.textBox1.Size = new System.Drawing.Size(70, 20);
this.textBox1.TabIndex = 31;
this.textBox1.Text = "0x00FF00FF";
this.textBox1.Leave += new System.EventHandler(this.textBox1_Leave);
@@ -106,10 +102,9 @@
// btnDirectApplyStart
//
this.btnDirectApplyStart.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnDirectApplyStart.Location = new System.Drawing.Point(6, 19);
this.btnDirectApplyStart.Margin = new System.Windows.Forms.Padding(4);
this.btnDirectApplyStart.Location = new System.Drawing.Point(5, 15);
this.btnDirectApplyStart.Name = "btnDirectApplyStart";
this.btnDirectApplyStart.Size = new System.Drawing.Size(105, 42);
this.btnDirectApplyStart.Size = new System.Drawing.Size(84, 34);
this.btnDirectApplyStart.TabIndex = 32;
this.btnDirectApplyStart.Text = "GO!";
this.btnDirectApplyStart.UseVisualStyleBackColor = true;
@@ -123,11 +118,9 @@
this.gbDirectTest.Controls.Add(this.tbGamePath);
this.gbDirectTest.Controls.Add(this.lblGamePath);
this.gbDirectTest.Controls.Add(this.btnDirectApplyStart);
this.gbDirectTest.Location = new System.Drawing.Point(18, 733);
this.gbDirectTest.Margin = new System.Windows.Forms.Padding(4);
this.gbDirectTest.Location = new System.Drawing.Point(14, 586);
this.gbDirectTest.Name = "gbDirectTest";
this.gbDirectTest.Padding = new System.Windows.Forms.Padding(4);
this.gbDirectTest.Size = new System.Drawing.Size(1029, 66);
this.gbDirectTest.Size = new System.Drawing.Size(823, 53);
this.gbDirectTest.TabIndex = 33;
this.gbDirectTest.TabStop = false;
this.gbDirectTest.Text = "Quick Bit Value Tester (stores this setting value to the current profile and imme" +
@@ -136,10 +129,9 @@
// btnBrowseGame
//
this.btnBrowseGame.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnBrowseGame.Location = new System.Drawing.Point(971, 24);
this.btnBrowseGame.Margin = new System.Windows.Forms.Padding(4);
this.btnBrowseGame.Location = new System.Drawing.Point(777, 19);
this.btnBrowseGame.Name = "btnBrowseGame";
this.btnBrowseGame.Size = new System.Drawing.Size(41, 29);
this.btnBrowseGame.Size = new System.Drawing.Size(33, 23);
this.btnBrowseGame.TabIndex = 35;
this.btnBrowseGame.Text = "...";
this.btnBrowseGame.UseVisualStyleBackColor = true;
@@ -149,19 +141,17 @@
//
this.tbGamePath.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.tbGamePath.Location = new System.Drawing.Point(218, 26);
this.tbGamePath.Margin = new System.Windows.Forms.Padding(4);
this.tbGamePath.Location = new System.Drawing.Point(174, 21);
this.tbGamePath.Name = "tbGamePath";
this.tbGamePath.Size = new System.Drawing.Size(745, 22);
this.tbGamePath.Size = new System.Drawing.Size(597, 20);
this.tbGamePath.TabIndex = 34;
//
// lblGamePath
//
this.lblGamePath.AutoSize = true;
this.lblGamePath.Location = new System.Drawing.Point(119, 29);
this.lblGamePath.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblGamePath.Location = new System.Drawing.Point(95, 23);
this.lblGamePath.Name = "lblGamePath";
this.lblGamePath.Size = new System.Drawing.Size(98, 17);
this.lblGamePath.Size = new System.Drawing.Size(73, 13);
this.lblGamePath.TabIndex = 33;
this.lblGamePath.Text = "Game to start:";
//
@@ -179,11 +169,13 @@
this.clbBits.FullRowSelect = true;
this.clbBits.GridLines = true;
this.clbBits.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.Nonclickable;
this.clbBits.Location = new System.Drawing.Point(12, 12);
this.clbBits.HideSelection = false;
this.clbBits.Location = new System.Drawing.Point(10, 10);
this.clbBits.Margin = new System.Windows.Forms.Padding(2, 2, 2, 2);
this.clbBits.MultiSelect = false;
this.clbBits.Name = "clbBits";
this.clbBits.ShowGroups = false;
this.clbBits.Size = new System.Drawing.Size(1035, 714);
this.clbBits.Size = new System.Drawing.Size(829, 572);
this.clbBits.TabIndex = 34;
this.clbBits.UseCompatibleStateImageBehavior = false;
this.clbBits.View = System.Windows.Forms.View.Details;
@@ -209,9 +201,9 @@
//
// frmBitEditor
//
this.AutoScaleDimensions = new System.Drawing.SizeF(120F, 120F);
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.ClientSize = new System.Drawing.Size(1059, 847);
this.ClientSize = new System.Drawing.Size(847, 678);
this.Controls.Add(this.clbBits);
this.Controls.Add(this.gbDirectTest);
this.Controls.Add(this.textBox1);
@@ -220,8 +212,7 @@
this.Controls.Add(this.lValue);
this.Controls.Add(this.btnClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.SizableToolWindow;
this.Margin = new System.Windows.Forms.Padding(4);
this.MinimumSize = new System.Drawing.Size(854, 609);
this.MinimumSize = new System.Drawing.Size(686, 495);
this.Name = "frmBitEditor";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Bit Value Editor";

View File

@@ -52,12 +52,14 @@ namespace nspector
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == _Settingid);
var settingsCache = DrsServiceLocator.ScannerService.CachedSettings.FirstOrDefault(x => x.SettingId == _Settingid);
if (settingsCache != null)
for (int bit = 0; bit < 32; bit++)
{
for (int bit = 0; bit < 32; bit++)
string profileNames = "";
uint profileCount = 0;
if (settingsCache != null)
{
string profileNames = "";
uint profileCount = 0;
for (int i = 0; i < settingsCache.SettingValues.Count; i++)
{
@@ -74,7 +76,7 @@ namespace nspector
{
for (int f = 0; f < filters.Length; f++)
{
if (settingProfileNames[p].ToLower().Contains(filters[f].ToLower()))
if (settingProfileNames[p].ToLowerInvariant().Contains(filters[f].ToLower()))
{
profileNames += settingProfileNames[p] + ",";
}
@@ -84,31 +86,32 @@ namespace nspector
profileCount += settingsCache.SettingValues[i].ValueProfileCount;
}
}
uint mask = (uint)1 << bit;
string maskStr="";
if (referenceSettings != null)
}
uint mask = (uint)1 << bit;
string maskStr = "";
if (referenceSettings != null)
{
var maskValue = referenceSettings.SettingValues.FirstOrDefault(v => v.SettingValue == mask);
if (maskValue != null)
{
var maskValue = referenceSettings.SettingValues.FirstOrDefault(v => v.SettingValue == mask);
if (maskValue != null)
maskStr = maskValue.UserfriendlyName;
if (maskStr.Contains("("))
{
maskStr = maskValue.UserfriendlyName;
if (maskStr.Contains("("))
{
maskStr = maskStr.Substring(0, maskStr.IndexOf("(") - 1);
}
maskStr = maskStr.Substring(0, maskStr.IndexOf("(") - 1);
}
}
}
clbBits.Items.Add(new ListViewItem(new string[] {
clbBits.Items.Add(new ListViewItem(new string[] {
string.Format("#{0:00}",bit),
maskStr,
profileCount.ToString(),
profileNames,
}));
}
}
SetValue(lastValue);

View File

@@ -75,7 +75,10 @@
this.chSettingID = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chSettingValue = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.chSettingValueHex = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
this.tbSettingDescription = new System.Windows.Forms.TextBox();
this.pnlListview = new System.Windows.Forms.Panel();
this.tsMain.SuspendLayout();
this.pnlListview.SuspendLayout();
this.SuspendLayout();
//
// ilListView
@@ -91,10 +94,10 @@
//
this.pbMain.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pbMain.Location = new System.Drawing.Point(16, 585);
this.pbMain.Margin = new System.Windows.Forms.Padding(5);
this.pbMain.Location = new System.Drawing.Point(12, 475);
this.pbMain.Margin = new System.Windows.Forms.Padding(4);
this.pbMain.Name = "pbMain";
this.pbMain.Size = new System.Drawing.Size(1120, 11);
this.pbMain.Size = new System.Drawing.Size(840, 9);
this.pbMain.TabIndex = 19;
//
// tsMain
@@ -132,10 +135,10 @@
this.tsSep6,
this.tsbApplyProfile});
this.tsMain.LayoutStyle = System.Windows.Forms.ToolStripLayoutStyle.HorizontalStackWithOverflow;
this.tsMain.Location = new System.Drawing.Point(16, 5);
this.tsMain.Location = new System.Drawing.Point(12, 4);
this.tsMain.Name = "tsMain";
this.tsMain.RenderMode = System.Windows.Forms.ToolStripRenderMode.Professional;
this.tsMain.Size = new System.Drawing.Size(1120, 31);
this.tsMain.Size = new System.Drawing.Size(840, 25);
this.tsMain.TabIndex = 24;
this.tsMain.Text = "toolStrip1";
//
@@ -144,7 +147,7 @@
this.tslProfiles.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.tslProfiles.Margin = new System.Windows.Forms.Padding(0, 5, 10, 2);
this.tslProfiles.Name = "tslProfiles";
this.tslProfiles.Size = new System.Drawing.Size(61, 24);
this.tslProfiles.Size = new System.Drawing.Size(49, 18);
this.tslProfiles.Text = "Profiles:";
//
// cbProfiles
@@ -156,7 +159,7 @@
this.cbProfiles.Margin = new System.Windows.Forms.Padding(1);
this.cbProfiles.MaxDropDownItems = 50;
this.cbProfiles.Name = "cbProfiles";
this.cbProfiles.Size = new System.Drawing.Size(385, 28);
this.cbProfiles.Size = new System.Drawing.Size(290, 23);
this.cbProfiles.SelectedIndexChanged += new System.EventHandler(this.cbProfiles_SelectedIndexChanged);
this.cbProfiles.TextChanged += new System.EventHandler(this.cbProfiles_TextChanged);
//
@@ -167,7 +170,7 @@
this.tsbModifiedProfiles.Image = global::nspector.Properties.Resources.home_sm;
this.tsbModifiedProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbModifiedProfiles.Name = "tsbModifiedProfiles";
this.tsbModifiedProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbModifiedProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbModifiedProfiles.TextImageRelation = System.Windows.Forms.TextImageRelation.Overlay;
this.tsbModifiedProfiles.ToolTipText = "Back to global profile (Home) / User modified profiles";
this.tsbModifiedProfiles.ButtonClick += new System.EventHandler(this.tsbModifiedProfiles_ButtonClick);
@@ -176,7 +179,7 @@
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 31);
this.toolStripSeparator1.Size = new System.Drawing.Size(6, 25);
//
// tsbRefreshProfile
//
@@ -184,7 +187,7 @@
this.tsbRefreshProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbRefreshProfile.Image")));
this.tsbRefreshProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbRefreshProfile.Name = "tsbRefreshProfile";
this.tsbRefreshProfile.Size = new System.Drawing.Size(24, 28);
this.tsbRefreshProfile.Size = new System.Drawing.Size(24, 22);
this.tsbRefreshProfile.Text = "Refresh current profile.";
this.tsbRefreshProfile.Click += new System.EventHandler(this.tsbRefreshProfile_Click);
//
@@ -194,7 +197,7 @@
this.tsbRestoreProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbRestoreProfile.Image")));
this.tsbRestoreProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbRestoreProfile.Name = "tsbRestoreProfile";
this.tsbRestoreProfile.Size = new System.Drawing.Size(24, 28);
this.tsbRestoreProfile.Size = new System.Drawing.Size(24, 22);
this.tsbRestoreProfile.Text = "Restore current profile to NVIDIA defaults.";
this.tsbRestoreProfile.Click += new System.EventHandler(this.tsbRestoreProfile_Click);
//
@@ -204,7 +207,7 @@
this.tsbCreateProfile.Image = ((System.Drawing.Image)(resources.GetObject("tsbCreateProfile.Image")));
this.tsbCreateProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbCreateProfile.Name = "tsbCreateProfile";
this.tsbCreateProfile.Size = new System.Drawing.Size(24, 28);
this.tsbCreateProfile.Size = new System.Drawing.Size(24, 22);
this.tsbCreateProfile.Text = "Create new profile";
this.tsbCreateProfile.Click += new System.EventHandler(this.tsbCreateProfile_Click);
//
@@ -214,14 +217,14 @@
this.tsbDeleteProfile.Image = global::nspector.Properties.Resources.ieframe_1_18212;
this.tsbDeleteProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbDeleteProfile.Name = "tsbDeleteProfile";
this.tsbDeleteProfile.Size = new System.Drawing.Size(24, 28);
this.tsbDeleteProfile.Size = new System.Drawing.Size(24, 22);
this.tsbDeleteProfile.Text = "Delete current Profile";
this.tsbDeleteProfile.Click += new System.EventHandler(this.tsbDeleteProfile_Click);
//
// tsSep2
//
this.tsSep2.Name = "tsSep2";
this.tsSep2.Size = new System.Drawing.Size(6, 31);
this.tsSep2.Size = new System.Drawing.Size(6, 25);
//
// tsbAddApplication
//
@@ -229,7 +232,7 @@
this.tsbAddApplication.Image = global::nspector.Properties.Resources.window_application_add;
this.tsbAddApplication.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbAddApplication.Name = "tsbAddApplication";
this.tsbAddApplication.Size = new System.Drawing.Size(24, 28);
this.tsbAddApplication.Size = new System.Drawing.Size(24, 22);
this.tsbAddApplication.Text = "Add application to current profile.";
this.tsbAddApplication.Click += new System.EventHandler(this.tsbAddApplication_Click);
//
@@ -239,7 +242,7 @@
this.tssbRemoveApplication.Image = global::nspector.Properties.Resources.window_application_delete;
this.tssbRemoveApplication.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tssbRemoveApplication.Name = "tssbRemoveApplication";
this.tssbRemoveApplication.Size = new System.Drawing.Size(39, 28);
this.tssbRemoveApplication.Size = new System.Drawing.Size(36, 22);
this.tssbRemoveApplication.Text = "Remove application from current profile";
this.tssbRemoveApplication.DropDownItemClicked += new System.Windows.Forms.ToolStripItemClickedEventHandler(this.tssbRemoveApplication_DropDownItemClicked);
this.tssbRemoveApplication.Click += new System.EventHandler(this.tssbRemoveApplication_Click);
@@ -247,7 +250,7 @@
// tsSep3
//
this.tsSep3.Name = "tsSep3";
this.tsSep3.Size = new System.Drawing.Size(6, 31);
this.tsSep3.Size = new System.Drawing.Size(6, 25);
//
// tsbExportProfiles
//
@@ -260,35 +263,35 @@
this.tsbExportProfiles.Image = global::nspector.Properties.Resources.export1;
this.tsbExportProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbExportProfiles.Name = "tsbExportProfiles";
this.tsbExportProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbExportProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbExportProfiles.Text = "Export user defined profiles";
this.tsbExportProfiles.Click += new System.EventHandler(this.tsbExportProfiles_Click);
//
// exportCurrentProfileOnlyToolStripMenuItem
//
this.exportCurrentProfileOnlyToolStripMenuItem.Name = "exportCurrentProfileOnlyToolStripMenuItem";
this.exportCurrentProfileOnlyToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportCurrentProfileOnlyToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportCurrentProfileOnlyToolStripMenuItem.Text = "Export current profile only";
this.exportCurrentProfileOnlyToolStripMenuItem.Click += new System.EventHandler(this.exportCurrentProfileOnlyToolStripMenuItem_Click);
//
// exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem
//
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Name = "exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem";
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Text = "Export current profile including predefined settings";
this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem.Click += new System.EventHandler(this.exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem_Click);
//
// exportUserdefinedProfilesToolStripMenuItem
//
this.exportUserdefinedProfilesToolStripMenuItem.Name = "exportUserdefinedProfilesToolStripMenuItem";
this.exportUserdefinedProfilesToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportUserdefinedProfilesToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportUserdefinedProfilesToolStripMenuItem.Text = "Export all customized profiles";
this.exportUserdefinedProfilesToolStripMenuItem.Click += new System.EventHandler(this.exportUserdefinedProfilesToolStripMenuItem_Click);
//
// exportAllProfilesNVIDIATextFormatToolStripMenuItem
//
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Name = "exportAllProfilesNVIDIATextFormatToolStripMenuItem";
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(422, 26);
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(343, 22);
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Text = "Export all driver profiles (NVIDIA Text Format)";
this.exportAllProfilesNVIDIATextFormatToolStripMenuItem.Click += new System.EventHandler(this.exportAllProfilesNVIDIATextFormatToolStripMenuItem_Click);
//
@@ -301,28 +304,28 @@
this.tsbImportProfiles.Image = global::nspector.Properties.Resources.import1;
this.tsbImportProfiles.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbImportProfiles.Name = "tsbImportProfiles";
this.tsbImportProfiles.Size = new System.Drawing.Size(39, 28);
this.tsbImportProfiles.Size = new System.Drawing.Size(36, 22);
this.tsbImportProfiles.Text = "Import user defined profiles";
this.tsbImportProfiles.Click += new System.EventHandler(this.tsbImportProfiles_Click);
//
// importProfilesToolStripMenuItem
//
this.importProfilesToolStripMenuItem.Name = "importProfilesToolStripMenuItem";
this.importProfilesToolStripMenuItem.Size = new System.Drawing.Size(453, 26);
this.importProfilesToolStripMenuItem.Size = new System.Drawing.Size(363, 22);
this.importProfilesToolStripMenuItem.Text = "Import profile(s)";
this.importProfilesToolStripMenuItem.Click += new System.EventHandler(this.importProfilesToolStripMenuItem_Click);
//
// importAllProfilesNVIDIATextFormatToolStripMenuItem
//
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Name = "importAllProfilesNVIDIATextFormatToolStripMenuItem";
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(453, 26);
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Size = new System.Drawing.Size(363, 22);
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Text = "Import (replace) all driver profiles (NVIDIA Text Format)";
this.importAllProfilesNVIDIATextFormatToolStripMenuItem.Click += new System.EventHandler(this.importAllProfilesNVIDIATextFormatToolStripMenuItem_Click);
//
// tsSep4
//
this.tsSep4.Name = "tsSep4";
this.tsSep4.Size = new System.Drawing.Size(6, 31);
this.tsSep4.Size = new System.Drawing.Size(6, 25);
//
// tscbShowCustomSettingNamesOnly
//
@@ -331,14 +334,14 @@
this.tscbShowCustomSettingNamesOnly.Image = global::nspector.Properties.Resources.filter_user;
this.tscbShowCustomSettingNamesOnly.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tscbShowCustomSettingNamesOnly.Name = "tscbShowCustomSettingNamesOnly";
this.tscbShowCustomSettingNamesOnly.Size = new System.Drawing.Size(24, 28);
this.tscbShowCustomSettingNamesOnly.Size = new System.Drawing.Size(24, 22);
this.tscbShowCustomSettingNamesOnly.Text = "Show the settings and values from CustomSettingNames file only.";
this.tscbShowCustomSettingNamesOnly.CheckedChanged += new System.EventHandler(this.cbCustomSettingsOnly_CheckedChanged);
//
// tsSep5
//
this.tsSep5.Name = "tsSep5";
this.tsSep5.Size = new System.Drawing.Size(6, 31);
this.tsSep5.Size = new System.Drawing.Size(6, 25);
//
// tscbShowScannedUnknownSettings
//
@@ -348,7 +351,7 @@
this.tscbShowScannedUnknownSettings.Image = global::nspector.Properties.Resources.find_set2;
this.tscbShowScannedUnknownSettings.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tscbShowScannedUnknownSettings.Name = "tscbShowScannedUnknownSettings";
this.tscbShowScannedUnknownSettings.Size = new System.Drawing.Size(24, 28);
this.tscbShowScannedUnknownSettings.Size = new System.Drawing.Size(24, 22);
this.tscbShowScannedUnknownSettings.Text = "Show unknown settings from NVIDIA predefined profiles";
this.tscbShowScannedUnknownSettings.Click += new System.EventHandler(this.tscbShowScannedUnknownSettings_Click);
//
@@ -358,14 +361,14 @@
this.tsbBitValueEditor.Image = global::nspector.Properties.Resources.text_binary;
this.tsbBitValueEditor.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbBitValueEditor.Name = "tsbBitValueEditor";
this.tsbBitValueEditor.Size = new System.Drawing.Size(24, 28);
this.tsbBitValueEditor.Size = new System.Drawing.Size(24, 22);
this.tsbBitValueEditor.Text = "Show bit value editor.";
this.tsbBitValueEditor.Click += new System.EventHandler(this.tsbBitValueEditor_Click);
//
// tsSep6
//
this.tsSep6.Name = "tsSep6";
this.tsSep6.Size = new System.Drawing.Size(6, 31);
this.tsSep6.Size = new System.Drawing.Size(6, 25);
//
// tsbApplyProfile
//
@@ -374,7 +377,7 @@
this.tsbApplyProfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.tsbApplyProfile.Name = "tsbApplyProfile";
this.tsbApplyProfile.Overflow = System.Windows.Forms.ToolStripItemOverflow.Never;
this.tsbApplyProfile.Size = new System.Drawing.Size(130, 28);
this.tsbApplyProfile.Size = new System.Drawing.Size(109, 22);
this.tsbApplyProfile.Text = "Apply changes";
this.tsbApplyProfile.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
this.tsbApplyProfile.Click += new System.EventHandler(this.tsbApplyProfile_Click);
@@ -384,10 +387,10 @@
this.btnResetValue.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.btnResetValue.Enabled = false;
this.btnResetValue.Image = global::nspector.Properties.Resources.nv_btn;
this.btnResetValue.Location = new System.Drawing.Point(976, 215);
this.btnResetValue.Location = new System.Drawing.Point(732, 175);
this.btnResetValue.Margin = new System.Windows.Forms.Padding(0, 1, 0, 0);
this.btnResetValue.Name = "btnResetValue";
this.btnResetValue.Size = new System.Drawing.Size(33, 23);
this.btnResetValue.Size = new System.Drawing.Size(25, 19);
this.btnResetValue.TabIndex = 7;
this.btnResetValue.UseVisualStyleBackColor = true;
this.btnResetValue.Click += new System.EventHandler(this.btnResetValue_Click);
@@ -399,12 +402,13 @@
this.lblApplications.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(118)))), ((int)(((byte)(185)))), ((int)(((byte)(0)))));
this.lblApplications.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
this.lblApplications.ForeColor = System.Drawing.Color.White;
this.lblApplications.Location = new System.Drawing.Point(16, 39);
this.lblApplications.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblApplications.Location = new System.Drawing.Point(12, 32);
this.lblApplications.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblApplications.Name = "lblApplications";
this.lblApplications.Size = new System.Drawing.Size(1120, 21);
this.lblApplications.Size = new System.Drawing.Size(840, 17);
this.lblApplications.TabIndex = 25;
this.lblApplications.Text = "fsagame.exe, bond.exe, herozero.exe";
this.lblApplications.DoubleClick += new System.EventHandler(this.tsbAddApplication_Click);
//
// toolStripButton5
//
@@ -440,10 +444,10 @@
//
this.cbValues.BackColor = System.Drawing.SystemColors.Window;
this.cbValues.FormattingEnabled = true;
this.cbValues.Location = new System.Drawing.Point(699, 215);
this.cbValues.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.cbValues.Location = new System.Drawing.Point(524, 175);
this.cbValues.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.cbValues.Name = "cbValues";
this.cbValues.Size = new System.Drawing.Size(95, 24);
this.cbValues.Size = new System.Drawing.Size(72, 21);
this.cbValues.TabIndex = 5;
this.cbValues.Visible = false;
this.cbValues.SelectedValueChanged += new System.EventHandler(this.cbValues_SelectedValueChanged);
@@ -451,62 +455,61 @@
//
// lblWidth96
//
this.lblWidth96.Location = new System.Drawing.Point(103, 287);
this.lblWidth96.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth96.Location = new System.Drawing.Point(77, 233);
this.lblWidth96.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth96.Name = "lblWidth96";
this.lblWidth96.Size = new System.Drawing.Size(128, 22);
this.lblWidth96.Size = new System.Drawing.Size(96, 18);
this.lblWidth96.TabIndex = 77;
this.lblWidth96.Text = "96";
this.lblWidth96.Visible = false;
//
// lblWidth330
//
this.lblWidth330.Location = new System.Drawing.Point(103, 258);
this.lblWidth330.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth330.Location = new System.Drawing.Point(77, 210);
this.lblWidth330.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth330.Name = "lblWidth330";
this.lblWidth330.Size = new System.Drawing.Size(440, 27);
this.lblWidth330.Size = new System.Drawing.Size(330, 22);
this.lblWidth330.TabIndex = 78;
this.lblWidth330.Text = "330 (Helper Labels for DPI Scaling)";
this.lblWidth330.Visible = false;
//
// lblWidth16
//
this.lblWidth16.Location = new System.Drawing.Point(103, 331);
this.lblWidth16.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth16.Location = new System.Drawing.Point(77, 269);
this.lblWidth16.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth16.Name = "lblWidth16";
this.lblWidth16.Size = new System.Drawing.Size(21, 22);
this.lblWidth16.Size = new System.Drawing.Size(16, 18);
this.lblWidth16.TabIndex = 79;
this.lblWidth16.Text = "16";
this.lblWidth16.Visible = false;
//
// lblWidth30
//
this.lblWidth30.Location = new System.Drawing.Point(103, 309);
this.lblWidth30.Margin = new System.Windows.Forms.Padding(5, 0, 5, 0);
this.lblWidth30.Location = new System.Drawing.Point(77, 251);
this.lblWidth30.Margin = new System.Windows.Forms.Padding(4, 0, 4, 0);
this.lblWidth30.Name = "lblWidth30";
this.lblWidth30.Size = new System.Drawing.Size(40, 22);
this.lblWidth30.Size = new System.Drawing.Size(30, 18);
this.lblWidth30.TabIndex = 80;
this.lblWidth30.Text = "30";
this.lblWidth30.Visible = false;
//
// lvSettings
//
this.lvSettings.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lvSettings.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.chSettingID,
this.chSettingValue,
this.chSettingValueHex});
this.lvSettings.Dock = System.Windows.Forms.DockStyle.Fill;
this.lvSettings.FullRowSelect = true;
this.lvSettings.GridLines = true;
this.lvSettings.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None;
this.lvSettings.Location = new System.Drawing.Point(16, 63);
this.lvSettings.Margin = new System.Windows.Forms.Padding(5);
this.lvSettings.HideSelection = false;
this.lvSettings.Location = new System.Drawing.Point(0, 0);
this.lvSettings.Margin = new System.Windows.Forms.Padding(4);
this.lvSettings.MultiSelect = false;
this.lvSettings.Name = "lvSettings";
this.lvSettings.ShowItemToolTips = true;
this.lvSettings.Size = new System.Drawing.Size(1119, 514);
this.lvSettings.Size = new System.Drawing.Size(840, 372);
this.lvSettings.SmallImageList = this.ilListView;
this.lvSettings.TabIndex = 2;
this.lvSettings.UseCompatibleStateImageBehavior = false;
@@ -514,8 +517,8 @@
this.lvSettings.ColumnWidthChanging += new System.Windows.Forms.ColumnWidthChangingEventHandler(this.lvSettings_ColumnWidthChanging);
this.lvSettings.SelectedIndexChanged += new System.EventHandler(this.lvSettings_SelectedIndexChanged);
this.lvSettings.DoubleClick += new System.EventHandler(this.lvSettings_DoubleClick);
this.lvSettings.Resize += new System.EventHandler(this.lvSettings_Resize);
this.lvSettings.KeyDown += new System.Windows.Forms.KeyEventHandler(this.lvSettings_KeyDown);
this.lvSettings.Resize += new System.EventHandler(this.lvSettings_Resize);
//
// chSettingID
//
@@ -532,23 +535,47 @@
this.chSettingValueHex.Text = "SettingValueHex";
this.chSettingValueHex.Width = 96;
//
// tbSettingDescription
//
this.tbSettingDescription.Dock = System.Windows.Forms.DockStyle.Bottom;
this.tbSettingDescription.Location = new System.Drawing.Point(0, 372);
this.tbSettingDescription.Multiline = true;
this.tbSettingDescription.Name = "tbSettingDescription";
this.tbSettingDescription.ReadOnly = true;
this.tbSettingDescription.ScrollBars = System.Windows.Forms.ScrollBars.Vertical;
this.tbSettingDescription.Size = new System.Drawing.Size(840, 44);
this.tbSettingDescription.TabIndex = 81;
this.tbSettingDescription.Visible = false;
//
// pnlListview
//
this.pnlListview.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.pnlListview.Controls.Add(this.lvSettings);
this.pnlListview.Controls.Add(this.tbSettingDescription);
this.pnlListview.Location = new System.Drawing.Point(12, 52);
this.pnlListview.Name = "pnlListview";
this.pnlListview.Size = new System.Drawing.Size(840, 416);
this.pnlListview.TabIndex = 82;
//
// frmDrvSettings
//
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(1152, 606);
this.ClientSize = new System.Drawing.Size(864, 492);
this.Controls.Add(this.pnlListview);
this.Controls.Add(this.lblWidth30);
this.Controls.Add(this.lblWidth16);
this.Controls.Add(this.lblWidth330);
this.Controls.Add(this.lblWidth96);
this.Controls.Add(this.lvSettings);
this.Controls.Add(this.lblApplications);
this.Controls.Add(this.tsMain);
this.Controls.Add(this.pbMain);
this.Controls.Add(this.btnResetValue);
this.Controls.Add(this.cbValues);
this.Margin = new System.Windows.Forms.Padding(5);
this.MinimumSize = new System.Drawing.Size(1167, 417);
this.Margin = new System.Windows.Forms.Padding(4);
this.MinimumSize = new System.Drawing.Size(879, 346);
this.Name = "frmDrvSettings";
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "nSpector - Driver Profile Settings";
@@ -558,6 +585,8 @@
this.Shown += new System.EventHandler(this.frmDrvSettings_Shown);
this.tsMain.ResumeLayout(false);
this.tsMain.PerformLayout();
this.pnlListview.ResumeLayout(false);
this.pnlListview.PerformLayout();
this.ResumeLayout(false);
}
@@ -609,5 +638,7 @@
private System.Windows.Forms.Label lblWidth16;
private System.Windows.Forms.Label lblWidth30;
private System.Windows.Forms.ToolStripMenuItem exportCurrentProfileIncludingPredefinedSettingsToolStripMenuItem;
private System.Windows.Forms.TextBox tbSettingDescription;
private System.Windows.Forms.Panel pnlListview;
}
}

View File

@@ -39,6 +39,8 @@ namespace nspector
public string _CurrentProfile = "";
private bool isDevMode = false;
protected override void WndProc(ref Message m)
{
switch (m.Msg)
@@ -76,9 +78,12 @@ namespace nspector
{
var group = FindOrCreateGroup(setting.GroupName);
var item = new ListViewItem(setting.SettingText);
var settingName = isDevMode ? $"0x{setting.SettingId:X8} {setting.SettingText}" : setting.SettingText;
var item = new ListViewItem(settingName);
item.Tag = setting.SettingId;
item.Group = group;
item.SubItems.Add(setting.ValueText);
item.SubItems.Add(setting.ValueRaw);
@@ -212,6 +217,8 @@ namespace nspector
cbValues.BeginUpdate();
tsbBitValueEditor.Enabled = false;
cbValues.Items.Clear();
cbValues.Tag = lvSettings.SelectedItems[0].Tag;
uint settingid = (uint)lvSettings.SelectedItems[0].Tag;
@@ -233,6 +240,10 @@ namespace nspector
cbValues.Items.Add(itm);
}
tsbBitValueEditor.Enabled = valueNames.Count > 0;
}
if (settingMeta.SettingType == Native.NVAPI2.NVDRS_SETTING_TYPE.NVDRS_WSTRING_TYPE && settingMeta.StringValues != null)
@@ -248,13 +259,6 @@ namespace nspector
foreach (string v in valueNames)
cbValues.Items.Add(v);
}
var scannedCount = settingMeta?.DwordValues?
.Where(x => x.ValueSource == Common.Meta.SettingMetaSource.ScannedSettings)
.Count();
tsbBitValueEditor.Enabled = scannedCount > 0;
}
if (cbValues.Items.Count < 1)
@@ -264,6 +268,21 @@ namespace nspector
}
var referenceSettings = DrsServiceLocator.ReferenceSettings?.Settings.FirstOrDefault(s => s.SettingId == settingid);
if (string.IsNullOrEmpty(settingMeta.Description) && !(referenceSettings?.HasConstraints ?? false))
{
tbSettingDescription.Text = "";
tbSettingDescription.Visible = false;
tbSettingDescription.BackColor = SystemColors.Control;
}
else
{
tbSettingDescription.Text = settingMeta.Description;
tbSettingDescription.Visible = true;
tbSettingDescription.BackColor = (referenceSettings?.HasConstraints ?? false) ? Color.LightCoral : SystemColors.Control;
}
cbValues.Text = lvSettings.SelectedItems[0].SubItems[1].Text;
cbValues.EndUpdate();
@@ -337,6 +356,7 @@ namespace nspector
valueHasChanged = currentProfileItem.ValueRaw != stringBehind;
}
if (valueHasChanged || activeImages.Contains(lvItem.ImageIndex))
{
lvItem.ForeColor = SystemColors.ControlText;
@@ -424,6 +444,22 @@ namespace nspector
}
}
private void DeleteSelectedValue()
{
if (lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count > 0)
{
var settingId = (uint)lvSettings.SelectedItems[0].Tag;
bool removeFromModified;
_drs.DeleteValue(_CurrentProfile, settingId, out removeFromModified);
if (removeFromModified)
RemoveFromModifiedProfiles(_CurrentProfile);
RefreshCurrentProfile();
}
}
private void InitTaskbarList()
{
if (Environment.OSVersion.Version.Major >= 6 && Environment.OSVersion.Version.Minor >= 1)
@@ -461,7 +497,8 @@ namespace nspector
var numberFormat = new NumberFormatInfo() { NumberDecimalSeparator = "." };
var version = Assembly.GetExecutingAssembly().GetName().Version;
var fileVersionInfo = FileVersionInfo.GetVersionInfo(Assembly.GetExecutingAssembly().Location);
Text = $"{Application.ProductName} {version} - Geforce {_drs.DriverVersion.ToString("#.00", numberFormat)} - Profile Settings - {fileVersionInfo.LegalCopyright}";
var externalCsn = DrsServiceLocator.IsExternalCustomSettings ? " - CSN OVERRIDE!" : "";
Text = $"{Application.ProductName} {version} - Geforce {_drs.DriverVersion.ToString("#.00", numberFormat)} - Profile Settings - {fileVersionInfo.LegalCopyright}{externalCsn}";
}
private static void InitMessageFilter(IntPtr handle)
@@ -494,8 +531,16 @@ namespace nspector
Icon = Icon.ExtractAssociatedIcon(Application.ExecutablePath);
}
public static double ScaleFactor = 1;
private void SetupDpiAdjustments()
{
ScaleFactor = lblWidth330.Width / 330;
// Later Windows versions changed DPI scaling method, check with Graphics and use it if larger
using (Graphics g = CreateGraphics())
ScaleFactor = Math.Max(ScaleFactor, Math.Max(g.DpiX / 96f, g.DpiY / 96f));
chSettingID.Width = lblWidth330.Width;
chSettingValueHex.Width = lblWidth96.Width;
}
@@ -580,9 +625,14 @@ namespace nspector
private void btnResetValue_Click(object sender, EventArgs e)
{
ResetSelectedValue();
if (Control.ModifierKeys == Keys.Control)
DeleteSelectedValue();
else
ResetSelectedValue();
}
ToolTip appPathsTooltip = new ToolTip() { InitialDelay = 250 };
private void ChangeCurrentProfile(string profileName)
{
if (profileName == GetBaseProfileName() || profileName == _baseProfileName)
@@ -592,6 +642,7 @@ namespace nspector
tsbDeleteProfile.Enabled = false;
tsbAddApplication.Enabled = false;
tssbRemoveApplication.Enabled = false;
appPathsTooltip.SetToolTip(lblApplications, "");
}
else
{
@@ -599,9 +650,9 @@ namespace nspector
tsbDeleteProfile.Enabled = true;
tsbAddApplication.Enabled = true;
tssbRemoveApplication.Enabled = true;
appPathsTooltip.SetToolTip(lblApplications, "Double-click to add application");
}
RefreshCurrentProfile();
}
@@ -762,7 +813,15 @@ namespace nspector
}
}
else
ResetCurrentProfile();
{
if (MessageBox.Show(this,
"Restore profile to NVIDIA driver defaults?",
"Restore profile",
MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
{
ResetCurrentProfile();
}
}
}
private void tsbRefreshProfile_Click(object sender, EventArgs e)
@@ -873,15 +932,24 @@ namespace nspector
private void tsbAddApplication_Click(object sender, EventArgs e)
{
var openDialog = new OpenFileDialog();
openDialog.DefaultExt = "*.exe";
openDialog.Filter = "Application EXE Name|*.exe|Application Absolute Path|*.exe";
if (_CurrentProfile == GetBaseProfileName() || _CurrentProfile == _baseProfileName)
return;
if (openDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
var applications = new Dictionary<string, string>();
_currentProfileSettingItems = _drs.GetSettingsForProfile(_CurrentProfile, GetSettingViewMode(), ref applications);
var existingPaths = new HashSet<string>(applications.Values, StringComparer.OrdinalIgnoreCase);
var applicationName = "";
if (InputBox.Show("Add Application", "Enter an application path/filename/UWP ID to add to the profile:", ref applicationName, new List<string>(), "", 2048, true) == DialogResult.OK)
{
string applicationName = new FileInfo(openDialog.FileName).Name;
if (openDialog.FilterIndex == 2)
applicationName = openDialog.FileName;
// Add new application path
if (existingPaths.Contains(applicationName))
{
MessageBox.Show("This application is already assigned to this profile!",
"Error adding Application", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
try
{
@@ -892,25 +960,26 @@ namespace nspector
if (ex.Status == Native.NVAPI2.NvAPI_Status.NVAPI_EXECUTABLE_ALREADY_IN_USE || ex.Status == Native.NVAPI2.NvAPI_Status.NVAPI_ERROR)
{
if (lblApplications.Text.ToUpper().IndexOf(" " + applicationName.ToUpper() + ",") != -1)
MessageBox.Show("This application executable is already assigned to this profile!",
MessageBox.Show("This application is already assigned to this profile!",
"Error adding Application", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
{
string profileNames = _scanner.FindProfilesUsingApplication(applicationName);
if (profileNames == "")
MessageBox.Show("This application executable might already be assigned to another profile!",
MessageBox.Show("This application might already be assigned to another profile!",
"Error adding Application", MessageBoxButtons.OK, MessageBoxIcon.Error);
else
MessageBox.Show(
"This application executable is already assigned to the following profiles: " +
"This application is already assigned to the following profiles: " +
profileNames, "Error adding Application", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
else
throw;
}
RefreshCurrentProfile();
}
RefreshCurrentProfile();
}
private void tssbRemoveApplication_DropDownItemClicked(object sender, ToolStripItemClickedEventArgs e)
@@ -1115,7 +1184,7 @@ namespace nspector
if (files.Length == 1)
{
var fileInfo = new FileInfo(files[0]);
if (fileInfo.Extension.ToLower().Equals(".nip"))
if (fileInfo.Extension.ToLowerInvariant().Equals(".nip"))
{
ImportProfiles(fileInfo.FullName);
return;
@@ -1151,11 +1220,12 @@ namespace nspector
private void lvSettings_DoubleClick(object sender, EventArgs e)
{
if (Debugger.IsAttached && lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count == 1)
if (isDevMode && lvSettings.SelectedItems != null && lvSettings.SelectedItems.Count == 1)
{
var settingId = ((uint)lvSettings.SelectedItems[0].Tag);
var settingName = lvSettings.SelectedItems[0].Text;
Clipboard.SetText(string.Format($"0x{settingId:X8} {settingName}"));
//Clipboard.SetText(string.Format($"0x{settingId:X8} {settingName}"));
Clipboard.SetText(string.Format($"{settingName}"));
}
}
@@ -1223,10 +1293,55 @@ namespace nspector
CopyModifiedSettingsToClipBoard();
}
if (e.Control && e.Alt && e.KeyCode == Keys.D)
{
EnableDevmode();
}
if (Debugger.IsAttached && e.Control && e.KeyCode == Keys.T)
{
TestStoreSettings();
}
if (e.Control && e.KeyCode == Keys.F)
{
SearchSetting();
}
if (e.KeyCode == Keys.Escape)
{
RefreshCurrentProfile();
}
}
private void SearchSetting()
{
string inputString = "";
if (InputBox.Show("Search Setting", "Please enter setting name:", ref inputString, new List<string>(), "", 2048) == System.Windows.Forms.DialogResult.OK)
{
var lowerInput = inputString.Trim().ToLowerInvariant();
lvSettings.BeginUpdate();
foreach(ListViewItem itm in lvSettings.Items)
{
if (!itm.Text.ToLowerInvariant().Contains(lowerInput))
{
itm.Remove();
}
}
lvSettings.EndUpdate();
}
}
private void EnableDevmode()
{
isDevMode = true;
lvSettings.Font = new Font("Consolas", 9);
cbValues.Font = new Font("Consolas", 9);
lvSettings.HeaderStyle = ColumnHeaderStyle.Nonclickable;
RefreshCurrentProfile();
}
private void TestStoreSettings()

View File

@@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj00LjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAADI
DAAAAk1TRnQBSQFMAgEBBAEAAagBBwGoAQcBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
DAAAAk1TRnQBSQFMAgEBBAEAAcABBwHAAQcBEAEAARABAAT/ARkBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEYBgABGP8A/wD/AP8A/wD/AP8A/wD/AP8A/wD/ADMAAcgBvQGvAacBkQF5BgAD/iEA
A+QD2gYAA/4hAAGXAcMBqwFMAZwBcAYAA/4hAAOmA2gGAAP+FQAB8gHxAfABqQGPAXQBzwHHAbwD/wG6
AaUBjAGuAZQBeAHxAe8B7QHvAe0B6wGhAYgBbQHkAeAB2xIAA/UD3QPmA/8D4APeA/QD8wPaA+4SAAHt
@@ -195,7 +195,7 @@
<data name="tsbRefreshProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAGgSURBVDhPrZPLSsNAFIb7BoKP4Upw5UoQBHfmMrG1olCa
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAGgSURBVDhPrZPLSsNAFIb7BoKP4Upw5UoQBHfmMrG1olCa
pFoExY2KiHcRERFEwYUKglSQesFeQK2rFkFr0Y26MRAKpa2+QS+/MzGpaS114wdhQv7/nDknZ8bx7xDi
a+FFeYvnFU2QFHCcRxdEOcQTmTctjWHB4UgM2Wwe5XIZ+fwnko/PWF3bhiAqJzRRp2mtD0/U7oWlTbAK
Bj1jYO/vmo5SqYR44gG9fcPgiNpu2uvDkrCVEG+zIMkqcfqQuEuiWCwidhsHJ8qHhtEOLX2H9cxW81MF
@@ -208,7 +208,7 @@
<data name="tsbRestoreProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAFcSURBVDhP3VFNK0RhFL4/wNbM3PdcCgsfsbHDgkJKWPgD
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAFcSURBVDhP3VFNK0RhFL4/wNbM3PdcCgsfsbHDgkJKWPgD
ilJGNN73XEs/gbKUmvITuPc9d5iwYKfZyULZ26BkhTjnnXs1TWTNqafOx/M895z3ev84FsrwigQfvyGl
1yNM1IyO4cQNrUKdqGFj1awmuGgWZnDC9Wouz8U1xnATkj+oE78HLVyWKPeAlH9EUkOa1FyzWOAxeVIS
JuxtRoVeERhS51zviLlsIHNjYRltW1ejWOChDdbqhEIfRoVbE0PZbXXoP3G/ygZFNyeYZ4xlwgzC9fAI
@@ -220,7 +220,7 @@
<data name="tsbCreateProfile.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAEgSURBVDhP3Y/PKwRhHIf3f5g/wMWUlIuDUk5y5MCB3Dk4
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEgSURBVDhP3Y/PKwRhHIf3f5g/wMWUlIuDUk5y5MCB3Dk4
7EUbBwdXJ3EXsksjidlk2x27NrXt5kdjlTQXbSFK2iaGaX7s491Zjppx5FNP7/et9/n0fmP/PFwu8JGd
5OsaLdxpNIyVQPL1GcyDwWDmVsEx1sLLGvdHeLtduKVh/GIPTlbGPRvF3mmjXm0Vh8a9SEBGAl1gCMoS
j2p/uOyX5/AK4/i5bqgI8UrQPFUJO9mOr43gHk/9XOToy9QLCd4O+yAvxCb7gg0JK9WJqcWxTubDf+Kd
@@ -237,7 +237,7 @@
<data name="toolStripButton5.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
@@ -252,7 +252,7 @@
<data name="toolStripButton6.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAIDSURBVDhPpZLrS5NhGMb3j4SWh0oRQVExD4gonkDpg4hG
YKxG6WBogkMZKgPNCEVJFBGdGETEvgwyO9DJE5syZw3PIlPEE9pgBCLZ5XvdMB8Ew8gXbl54nuf63dd9
0OGSnwCahxbPRNPAPMw9Xpg6ZmF46kZZ0xSKzJPIrhpDWsVnpBhGkKx3nAX8Pv7z1zg8OoY/cITdn4fw
bf/C0kYAN3Ma/w3gWfZL5kzTKBxjWyK2DftwI9tyMYCZKXbNHaD91bLYJrDXsYbrWfUKwJrPE9M2M1Oc
@@ -282,7 +282,4 @@
<metadata name="lblWidth30.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="lvSettings.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@@ -10,7 +10,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>nspector</RootNamespace>
<AssemblyName>nvidiaProfileInspector</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8.1</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<PlatformTarget>x86</PlatformTarget>
<TargetFrameworkProfile />
@@ -93,7 +93,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'">
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<DefineConstants>TRACE;RELEASE</DefineConstants>
<Optimize>false</Optimize>
<DebugType>none</DebugType>
<PlatformTarget>AnyCPU</PlatformTarget>

View File

@@ -1,7 +1,7 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
VisualStudioVersion = 14.0.23107.0
# Visual Studio Version 17
VisualStudioVersion = 17.3.32929.385
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nvidiaProfileInspector", "nspector\nvidiaProfileInspector.csproj", "{27B20027-E783-4ADC-AF16-40A49463F4BF}"
EndProject
@@ -19,4 +19,7 @@ Global
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {7FB061B1-515F-4B0E-B49F-552DFCA05527}
EndGlobalSection
EndGlobal