GPEntry.cs
 1  // This file was auto-generated from NVIDIA official Maxwell definitions.
 2  
 3  namespace Ryujinx.Graphics.Gpu.Engine.GPFifo
 4  {
 5      enum Entry0Fetch
 6      {
 7          Unconditional = 0,
 8          Conditional = 1,
 9      }
10  
11      enum Entry1Priv
12      {
13          User = 0,
14          Kernel = 1,
15      }
16  
17      enum Entry1Level
18      {
19          Main = 0,
20          Subroutine = 1,
21      }
22  
23      enum Entry1Sync
24      {
25          Proceed = 0,
26          Wait = 1,
27      }
28  
29      enum Entry1Opcode
30      {
31          Nop = 0,
32          Illegal = 1,
33          Crc = 2,
34          PbCrc = 3,
35      }
36  
37      struct GPEntry
38      {
39  #pragma warning disable CS0649 // Field is never assigned to
40          public uint Entry0;
41  #pragma warning restore CS0649
42          public readonly Entry0Fetch Entry0Fetch => (Entry0Fetch)(Entry0 & 0x1);
43          public readonly int Entry0Get => (int)((Entry0 >> 2) & 0x3FFFFFFF);
44          public readonly int Entry0Operand => (int)(Entry0);
45  #pragma warning disable CS0649 // Field is never assigned to
46          public uint Entry1;
47  #pragma warning restore CS0649
48          public readonly int Entry1GetHi => (int)(Entry1 & 0xFF);
49          public readonly Entry1Priv Entry1Priv => (Entry1Priv)((Entry1 >> 8) & 0x1);
50          public readonly Entry1Level Entry1Level => (Entry1Level)((Entry1 >> 9) & 0x1);
51          public readonly int Entry1Length => (int)((Entry1 >> 10) & 0x1FFFFF);
52          public readonly Entry1Sync Entry1Sync => (Entry1Sync)((Entry1 >> 31) & 0x1);
53          public readonly Entry1Opcode Entry1Opcode => (Entry1Opcode)(Entry1 & 0xFF);
54      }
55  }