diff options
Diffstat (limited to 'src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs')
-rw-r--r-- | src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs b/src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs index d0b4478e..1ca6071b 100644 --- a/src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs +++ b/src/Ryujinx.Graphics.Gpu/Memory/PhysicalMemory.cs @@ -237,6 +237,18 @@ namespace Ryujinx.Graphics.Gpu.Memory } /// <summary> + /// Writes data to the application process, triggering a precise memory tracking event. + /// </summary> + /// <param name="address">Address to write into</param> + /// <param name="data">Data to be written</param> + /// <param name="kind">Kind of the resource being written, which will not be signalled as CPU modified</param> + public void WriteTrackedResource(ulong address, ReadOnlySpan<byte> data, ResourceKind kind) + { + _cpuMemory.SignalMemoryTracking(address, (ulong)data.Length, true, precise: true, exemptId: (int)kind); + _cpuMemory.WriteUntracked(address, data); + } + + /// <summary> /// Writes data to the application process. /// </summary> /// <param name="address">Address to write into</param> |