PhysicalMemory.cs 810 B

12345678910111213141516171819202122232425262728293031
  1. using System;
  2. namespace Ryujinx.Graphics.Gpu.Memory
  3. {
  4. using CpuMemoryManager = ARMeilleure.Memory.MemoryManager;
  5. class PhysicalMemory
  6. {
  7. private readonly CpuMemoryManager _cpuMemory;
  8. public PhysicalMemory(CpuMemoryManager cpuMemory)
  9. {
  10. _cpuMemory = cpuMemory;
  11. }
  12. public Span<byte> Read(ulong address, ulong size)
  13. {
  14. return _cpuMemory.ReadBytes((long)address, (long)size);
  15. }
  16. public void Write(ulong address, Span<byte> data)
  17. {
  18. _cpuMemory.WriteBytes((long)address, data.ToArray());
  19. }
  20. public (ulong, ulong)[] GetModifiedRanges(ulong address, ulong size, ResourceName name)
  21. {
  22. return _cpuMemory.GetModifiedRanges(address, size, (int)name);
  23. }
  24. }
  25. }