Merge pull request #273 from Orbmu2k/master-pull

MERGE PRs
This commit is contained in:
Orbmu2k
2025-02-15 12:30:06 +01:00
committed by GitHub
2 changed files with 247 additions and 138 deletions

View File

@@ -106,6 +106,22 @@
<UserfriendlyName>Preset K</UserfriendlyName>
<HexValue>0x0000000B</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset L (unused)</UserfriendlyName>
<HexValue>0x0000000C</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset M (unused)</UserfriendlyName>
<HexValue>0x0000000D</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset N (unused)</UserfriendlyName>
<HexValue>0x0000000E</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset O (unused)</UserfriendlyName>
<HexValue>0x0000000F</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Always use latest</UserfriendlyName>
<HexValue>0x00FFFFFF</HexValue>
@@ -147,6 +163,42 @@
<UserfriendlyName>Preset F (unused)</UserfriendlyName>
<HexValue>0x00000006</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset G (unused)</UserfriendlyName>
<HexValue>0x00000007</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset H (unused)</UserfriendlyName>
<HexValue>0x00000008</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset I (unused)</UserfriendlyName>
<HexValue>0x00000009</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset J (unused)</UserfriendlyName>
<HexValue>0x0000000A</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset K (unused)</UserfriendlyName>
<HexValue>0x0000000B</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset L (unused)</UserfriendlyName>
<HexValue>0x0000000C</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset M (unused)</UserfriendlyName>
<HexValue>0x0000000D</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset N (unused)</UserfriendlyName>
<HexValue>0x0000000E</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Preset O (unused)</UserfriendlyName>
<HexValue>0x0000000F</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Always use latest</UserfriendlyName>
<HexValue>0x00FFFFFF</HexValue>
@@ -308,7 +360,7 @@
<HexValue>0x42C60000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Render at 1.00x native</UserfriendlyName>
<UserfriendlyName>Render at 1.00x native (DLAA)</UserfriendlyName>
<HexValue>0x42C80000</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -377,7 +429,7 @@
<HexValue>0x42C60000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Render at 1.00x native</UserfriendlyName>
<UserfriendlyName>Render at 1.00x native (DLAA)</UserfriendlyName>
<HexValue>0x42C80000</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -420,7 +472,7 @@
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On (RTX 5000 series and above)</UserfriendlyName>
<UserfriendlyName>On (RTX 50 series and above)</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
@@ -433,69 +485,36 @@
<MinRequiredDriverVersion>571.86</MinRequiredDriverVersion>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX HDR - Feature Flags</UserfriendlyName>
<UserfriendlyName>RTX HDR - Driver Flags</UserfriendlyName>
<Description>Allows reducing deband strength to preserve details &amp; enable indicator.&#xD;&#xA;When any driver flags are set HDR will be applied via driver instead of through NVOverlay (driver doesn't support customizing brightness/contrast/saturation)</Description>
<HexSettingID>0x00432F84</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off (0x00)</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled (No Debanding) (0x06)</UserfriendlyName>
<HexValue>0x00000006</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled (Medium Debanding) (0x0A)</UserfriendlyName>
<HexValue>0x0000000A</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled (VeryHigh Debanding) (0x02)</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled + Indicator (VeryHigh) (0x03)</UserfriendlyName>
<HexValue>0x00000003</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled + Indicator + Debug (VeryHigh) (0x23)</UserfriendlyName>
<HexValue>0x00000023</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX HDR - Driver-Level RTX HDR Enable</UserfriendlyName>
<HexSettingID>0x1077A11A</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On - Enable through driver, w/o NV Overlay (requires other Enable flags)</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX HDR - Game Filters Enable</UserfriendlyName>
<HexSettingID>0x00980896</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Off (0x00)</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled via driver (No Debanding) (0x06)</UserfriendlyName>
<HexValue>0x00000006</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled via driver (Medium Debanding) (0x0A)</UserfriendlyName>
<HexValue>0x0000000A</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled via driver (VeryHigh Debanding) (0x02)</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled + Indicator (VeryHigh) (0x03)</UserfriendlyName>
<HexValue>0x00000003</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Enabled + Indicator + Debug (VeryHigh) (0x23)</UserfriendlyName>
<HexValue>0x00000023</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks />
</CustomSetting>
@@ -505,14 +524,14 @@
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks />
</CustomSetting>
@@ -544,6 +563,37 @@
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX Digital Vibrance - Enable</UserfriendlyName>
<HexSettingID>0x00980880</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Off</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>On</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX Digital Vibrance - Saturation Boost</UserfriendlyName>
<HexSettingID>0x00ABAB13</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>RTX Digital Vibrance - Intensity</UserfriendlyName>
<HexSettingID>0x00ABAB22</HexSettingID>
<GroupName>5 - Common</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>Frame Rate Limiter - Background Application</UserfriendlyName>
<HexSettingID>0x10835005</HexSettingID>
@@ -7464,6 +7514,25 @@
</SettingValues>
<SettingMasks />
</CustomSetting>
<CustomSetting>
<UserfriendlyName>CUDA - Sysmem Fallback Policy</UserfriendlyName>
<HexSettingID>0x10ECECC9</HexSettingID>
<GroupName>5 - Common</GroupName>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Default</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Prefer no sysmem fallback</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Prefer sysmem fallback</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
</SettingValues>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>Extension Limit (OGL)</UserfriendlyName>
<HexSettingID>0x20FF7493</HexSettingID>
@@ -7559,14 +7628,34 @@
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>MPO_INDICATOR_OFF</UserfriendlyName>
<HexValue>0</HexValue>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>MPO_INDICATOR_ON</UserfriendlyName>
<HexValue>1</HexValue>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
</SettingValues>
</CustomSetting>
<CustomSetting>
<UserfriendlyName>Vulkan/OpenGL present method</UserfriendlyName>
<HexSettingID>0x20D690F8</HexSettingID>
<GroupName>2 - Sync and Refresh</GroupName>
<MinRequiredDriverVersion>0</MinRequiredDriverVersion>
<SettingValues>
<CustomSettingValue>
<UserfriendlyName>Prefer native</UserfriendlyName>
<HexValue>0x00000000</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Prefer layered on DXGI Swapchain</UserfriendlyName>
<HexValue>0x00000001</HexValue>
</CustomSettingValue>
<CustomSettingValue>
<UserfriendlyName>Auto</UserfriendlyName>
<HexValue>0x00000002</HexValue>
</CustomSettingValue>
</SettingValues>
</CustomSetting>
<!--<CustomSetting>
<UserfriendlyName>StereoProfile</UserfriendlyName>

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)