/ src / Ryujinx.Graphics.Vic / Types / BlendingSlotStruct.cs
BlendingSlotStruct.cs
 1  using Ryujinx.Common.Utilities;
 2  
 3  namespace Ryujinx.Graphics.Vic.Types
 4  {
 5      readonly struct BlendingSlotStruct
 6      {
 7          private readonly long _word0;
 8          private readonly long _word1;
 9  
10          public int AlphaK1 => (int)_word0.Extract(0, 10);
11          public int AlphaK2 => (int)_word0.Extract(16, 10);
12          public int SrcFactCMatchSelect => (int)_word0.Extract(32, 3);
13          public int DstFactCMatchSelect => (int)_word0.Extract(36, 3);
14          public int SrcFactAMatchSelect => (int)_word0.Extract(40, 3);
15          public int DstFactAMatchSelect => (int)_word0.Extract(44, 3);
16          public int OverrideR => (int)_word1.Extract(66, 10);
17          public int OverrideG => (int)_word1.Extract(76, 10);
18          public int OverrideB => (int)_word1.Extract(86, 10);
19          public int OverrideA => (int)_word1.Extract(96, 10);
20          public bool UseOverrideR => _word1.Extract(108);
21          public bool UseOverrideG => _word1.Extract(109);
22          public bool UseOverrideB => _word1.Extract(110);
23          public bool UseOverrideA => _word1.Extract(111);
24          public bool MaskR => _word1.Extract(112);
25          public bool MaskG => _word1.Extract(113);
26          public bool MaskB => _word1.Extract(114);
27          public bool MaskA => _word1.Extract(115);
28      }
29  }