NvdrsSetting.cs 1.3 KB

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