GPEntry.cs 1.4 KB

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