OutputConfig.cs 1.1 KB

123456789101112131415161718192021222324252627
  1. using Ryujinx.Common.Utilities;
  2. namespace Ryujinx.Graphics.Vic.Types
  3. {
  4. struct OutputConfig
  5. {
  6. #pragma warning disable CS0649
  7. private long _word0;
  8. private long _word1;
  9. #pragma warning restore CS0649
  10. public int AlphaFillMode => (int)_word0.Extract(0, 3);
  11. public int AlphaFillSlot => (int)_word0.Extract(3, 3);
  12. public int BackgroundAlpha => (int)_word0.Extract(6, 10);
  13. public int BackgroundR => (int)_word0.Extract(16, 10);
  14. public int BackgroundG => (int)_word0.Extract(26, 10);
  15. public int BackgroundB => (int)_word0.Extract(36, 10);
  16. public int RegammaMode => (int)_word0.Extract(46, 2);
  17. public bool OutputFlipX => _word0.Extract(48);
  18. public bool OutputFlipY => _word0.Extract(49);
  19. public bool OutputTranspose => _word0.Extract(50);
  20. public int TargetRectLeft => (int)_word1.Extract(64, 14);
  21. public int TargetRectRight => (int)_word1.Extract(80, 14);
  22. public int TargetRectTop => (int)_word1.Extract(96, 14);
  23. public int TargetRectBottom => (int)_word1.Extract(112, 14);
  24. }
  25. }