InstOp.cs 761 B

123456789101112131415161718192021222324252627
  1. using Ryujinx.Graphics.Shader.Instructions;
  2. namespace Ryujinx.Graphics.Shader.Decoders
  3. {
  4. readonly struct InstOp
  5. {
  6. public readonly ulong Address;
  7. public readonly ulong RawOpCode;
  8. public readonly InstEmitter Emitter;
  9. public readonly InstProps Props;
  10. public readonly InstName Name;
  11. public InstOp(ulong address, ulong rawOpCode, InstName name, InstEmitter emitter, InstProps props)
  12. {
  13. Address = address;
  14. RawOpCode = rawOpCode;
  15. Name = name;
  16. Emitter = emitter;
  17. Props = props;
  18. }
  19. public ulong GetAbsoluteAddress()
  20. {
  21. return (ulong)((long)Address + (((int)(RawOpCode >> 20) << 8) >> 8) + 8);
  22. }
  23. }
  24. }