diff options
Diffstat (limited to 'Ryujinx.Memory/WritableRegion.cs')
| -rw-r--r-- | Ryujinx.Memory/WritableRegion.cs | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/Ryujinx.Memory/WritableRegion.cs b/Ryujinx.Memory/WritableRegion.cs index 467ee7f7..21565ea5 100644 --- a/Ryujinx.Memory/WritableRegion.cs +++ b/Ryujinx.Memory/WritableRegion.cs @@ -6,15 +6,17 @@ namespace Ryujinx.Memory { private readonly IWritableBlock _block; private readonly ulong _va; + private readonly bool _tracked; private bool NeedsWriteback => _block != null; public Memory<byte> Memory { get; } - public WritableRegion(IWritableBlock block, ulong va, Memory<byte> memory) + public WritableRegion(IWritableBlock block, ulong va, Memory<byte> memory, bool tracked = false) { _block = block; _va = va; + _tracked = tracked; Memory = memory; } @@ -22,7 +24,14 @@ namespace Ryujinx.Memory { if (NeedsWriteback) { - _block.Write(_va, Memory.Span); + if (_tracked) + { + _block.Write(_va, Memory.Span); + } + else + { + _block.WriteUntracked(_va, Memory.Span); + } } } } |
