SlotConfig.cs 3.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. using Ryujinx.Common.Utilities;
  2. namespace Ryujinx.Graphics.Vic.Types
  3. {
  4. struct SlotConfig
  5. {
  6. private long _word0;
  7. private long _word1;
  8. private long _word2;
  9. private long _word3;
  10. private long _word4;
  11. private long _word5;
  12. private long _word6;
  13. private long _word7;
  14. public bool SlotEnable => _word0.Extract(0);
  15. public bool DeNoise => _word0.Extract(1);
  16. public bool AdvancedDenoise => _word0.Extract(2);
  17. public bool CadenceDetect => _word0.Extract(3);
  18. public bool MotionMap => _word0.Extract(4);
  19. public bool MMapCombine => _word0.Extract(5);
  20. public bool IsEven => _word0.Extract(6);
  21. public bool ChromaEven => _word0.Extract(7);
  22. public bool CurrentFieldEnable => _word0.Extract(8);
  23. public bool PrevFieldEnable => _word0.Extract(9);
  24. public bool NextFieldEnable => _word0.Extract(10);
  25. public bool NextNrFieldEnable => _word0.Extract(11);
  26. public bool CurMotionFieldEnable => _word0.Extract(12);
  27. public bool PrevMotionFieldEnable => _word0.Extract(13);
  28. public bool PpMotionFieldEnable => _word0.Extract(14);
  29. public bool CombMotionFieldEnable => _word0.Extract(15);
  30. public FrameFormat FrameFormat => (FrameFormat)_word0.Extract(16, 4);
  31. public int FilterLengthY => (int)_word0.Extract(20, 2);
  32. public int FilterLengthX => (int)_word0.Extract(22, 2);
  33. public int Panoramic => (int)_word0.Extract(24, 12);
  34. public int DetailFltClamp => (int)_word0.Extract(58, 6);
  35. public int FilterNoise => (int)_word1.Extract(64, 10);
  36. public int FilterDetail => (int)_word1.Extract(74, 10);
  37. public int ChromaNoise => (int)_word1.Extract(84, 10);
  38. public int ChromaDetail => (int)_word1.Extract(94, 10);
  39. public DeinterlaceMode DeinterlaceMode => (DeinterlaceMode)_word1.Extract(104, 4);
  40. public int MotionAccumWeight => (int)_word1.Extract(108, 3);
  41. public int NoiseIir => (int)_word1.Extract(111, 11);
  42. public int LightLevel => (int)_word1.Extract(122, 4);
  43. public int SoftClampLow => (int)_word2.Extract(128, 10);
  44. public int SoftClampHigh => (int)_word2.Extract(138, 10);
  45. public int PlanarAlpha => (int)_word2.Extract(160, 10);
  46. public bool ConstantAlpha => _word2.Extract(170);
  47. public int StereoInterleave => (int)_word2.Extract(171, 3);
  48. public bool ClipEnabled => _word2.Extract(174);
  49. public int ClearRectMask => (int)_word2.Extract(175, 8);
  50. public int DegammaMode => (int)_word2.Extract(183, 2);
  51. public bool DecompressEnable => _word2.Extract(186);
  52. public int DecompressCtbCount => (int)_word3.Extract(192, 8);
  53. public int DecompressZbcColor => (int)_word3.Extract(200, 32);
  54. public int SourceRectLeft => (int)_word4.Extract(256, 30);
  55. public int SourceRectRight => (int)_word4.Extract(288, 30);
  56. public int SourceRectTop => (int)_word5.Extract(320, 30);
  57. public int SourceRectBottom => (int)_word5.Extract(352, 30);
  58. public int DstRectLeft => (int)_word6.Extract(384, 14);
  59. public int DstRectRight => (int)_word6.Extract(400, 14);
  60. public int DstRectTop => (int)_word6.Extract(416, 14);
  61. public int DstRectBottom => (int)_word6.Extract(432, 14);
  62. }
  63. }