aboutsummaryrefslogtreecommitdiff
path: root/Ryujinx.Cpu/MemoryManager.cs
diff options
context:
space:
mode:
Diffstat (limited to 'Ryujinx.Cpu/MemoryManager.cs')
-rw-r--r--Ryujinx.Cpu/MemoryManager.cs9
1 files changed, 7 insertions, 2 deletions
diff --git a/Ryujinx.Cpu/MemoryManager.cs b/Ryujinx.Cpu/MemoryManager.cs
index 9eb27c4f..153bff62 100644
--- a/Ryujinx.Cpu/MemoryManager.cs
+++ b/Ryujinx.Cpu/MemoryManager.cs
@@ -237,7 +237,7 @@ namespace Ryujinx.Cpu
}
/// <inheritdoc/>
- public unsafe WritableRegion GetWritableRegion(ulong va, int size)
+ public unsafe WritableRegion GetWritableRegion(ulong va, int size, bool tracked = false)
{
if (size == 0)
{
@@ -246,6 +246,11 @@ namespace Ryujinx.Cpu
if (IsContiguousAndMapped(va, size))
{
+ if (tracked)
+ {
+ SignalMemoryTracking(va, (ulong)size, true);
+ }
+
return new WritableRegion(null, va, new NativeMemoryManager<byte>((byte*)GetHostAddress(va), size).Memory);
}
else
@@ -254,7 +259,7 @@ namespace Ryujinx.Cpu
GetSpan(va, size).CopyTo(memory.Span);
- return new WritableRegion(this, va, memory);
+ return new WritableRegion(this, va, memory, tracked);
}
}