CompressedMethod.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. // This file was auto-generated from NVIDIA official Maxwell definitions.
  2. namespace Ryujinx.Graphics.Gpu.Engine.GPFifo
  3. {
  4. enum TertOp
  5. {
  6. Grp0IncMethod = 0,
  7. Grp0SetSubDevMask = 1,
  8. Grp0StoreSubDevMask = 2,
  9. Grp0UseSubDevMask = 3,
  10. Grp2NonIncMethod = 0
  11. }
  12. enum SecOp
  13. {
  14. Grp0UseTert = 0,
  15. IncMethod = 1,
  16. Grp2UseTert = 2,
  17. NonIncMethod = 3,
  18. ImmdDataMethod = 4,
  19. OneInc = 5,
  20. Reserved6 = 6,
  21. EndPbSegment = 7
  22. }
  23. struct CompressedMethod
  24. {
  25. public uint Method;
  26. public int MethodAddressOld => (int)((Method >> 2) & 0x7FF);
  27. public int MethodAddress => (int)((Method >> 0) & 0xFFF);
  28. public int SubdeviceMask => (int)((Method >> 4) & 0xFFF);
  29. public int MethodSubchannel => (int)((Method >> 13) & 0x7);
  30. public TertOp TertOp => (TertOp)((Method >> 16) & 0x3);
  31. public int MethodCountOld => (int)((Method >> 18) & 0x7FF);
  32. public int MethodCount => (int)((Method >> 16) & 0x1FFF);
  33. public int ImmdData => (int)((Method >> 16) & 0x1FFF);
  34. public SecOp SecOp => (SecOp)((Method >> 29) & 0x7);
  35. }
  36. }