/ src / Ryujinx.Common / GraphicsDriver / NVAPI / NvdrsSetting.cs
NvdrsSetting.cs
 1  using System.Runtime.InteropServices;
 2  
 3  namespace Ryujinx.Common.GraphicsDriver.NVAPI
 4  {
 5      enum NvdrsSettingType : uint
 6      {
 7          NvdrsDwordType,
 8          NvdrsBinaryType,
 9          NvdrsStringType,
10          NvdrsWstringType,
11      }
12  
13      enum NvdrsSettingLocation : uint
14      {
15          NvdrsCurrentProfileLocation,
16          NvdrsGlobalProfileLocation,
17          NvdrsBaseProfileLocation,
18          NvdrsDefaultProfileLocation,
19      }
20  
21      [StructLayout(LayoutKind.Explicit, Size = 0x3020)]
22      struct NvdrsSetting
23      {
24          [FieldOffset(0x0)]
25          public uint Version;
26          [FieldOffset(0x4)]
27          public NvapiUnicodeString SettingName;
28          [FieldOffset(0x1004)]
29          public Nvapi SettingId;
30          [FieldOffset(0x1008)]
31          public NvdrsSettingType SettingType;
32          [FieldOffset(0x100C)]
33          public NvdrsSettingLocation SettingLocation;
34          [FieldOffset(0x1010)]
35          public uint IsCurrentPredefined;
36          [FieldOffset(0x1014)]
37          public uint IsPredefinedValid;
38  
39          [FieldOffset(0x1018)]
40          public uint PredefinedValue;
41          [FieldOffset(0x1018)]
42          public NvapiUnicodeString PredefinedString;
43  
44          [FieldOffset(0x201C)]
45          public uint CurrentValue;
46          [FieldOffset(0x201C)]
47          public NvapiUnicodeString CurrentString;
48      }
49  }