/ src / Ryujinx.Graphics.Vic / Types / SlotSurfaceConfig.cs
SlotSurfaceConfig.cs
 1  using Ryujinx.Common.Utilities;
 2  
 3  namespace Ryujinx.Graphics.Vic.Types
 4  {
 5      readonly struct SlotSurfaceConfig
 6      {
 7          private readonly long _word0;
 8          private readonly long _word1;
 9  
10          public PixelFormat SlotPixelFormat => (PixelFormat)_word0.Extract(0, 7);
11          public int SlotChromaLocHoriz => (int)_word0.Extract(7, 2);
12          public int SlotChromaLocVert => (int)_word0.Extract(9, 2);
13          public int SlotBlkKind => (int)_word0.Extract(11, 4);
14          public int SlotBlkHeight => (int)_word0.Extract(15, 4);
15          public int SlotCacheWidth => (int)_word0.Extract(19, 3);
16          public int SlotSurfaceWidth => (int)_word0.Extract(32, 14);
17          public int SlotSurfaceHeight => (int)_word0.Extract(46, 14);
18          public int SlotLumaWidth => (int)_word1.Extract(64, 14);
19          public int SlotLumaHeight => (int)_word1.Extract(78, 14);
20          public int SlotChromaWidth => (int)_word1.Extract(96, 14);
21          public int SlotChromaHeight => (int)_word1.Extract(110, 14);
22      }
23  }