diff options
| author | gdkchan <gab.dark.100@gmail.com> | 2021-08-29 16:52:38 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-08-29 16:52:38 -0300 |
| commit | 82cefc8dd3babb781d4b7229435e26911fb083dd (patch) | |
| tree | 769fb8595890c414fd8721e345ef3f0764c80e25 /Ryujinx.Cpu | |
| parent | 15e7fe3ac940a1768a25326e66683ad0f23127e0 (diff) | |
Handle indirect draw counts with non-zero draw starts properly (#2593)
Diffstat (limited to 'Ryujinx.Cpu')
| -rw-r--r-- | Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs | 8 | ||||
| -rw-r--r-- | Ryujinx.Cpu/MemoryManager.cs | 2 |
2 files changed, 9 insertions, 1 deletions
diff --git a/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs b/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs index 23b4119f..8004d39b 100644 --- a/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs +++ b/Ryujinx.Cpu/IVirtualMemoryManagerTracked.cs @@ -9,6 +9,14 @@ namespace Ryujinx.Cpu public interface IVirtualMemoryManagerTracked : IVirtualMemoryManager { /// <summary> + /// Reads data from CPU mapped memory, with read tracking + /// </summary> + /// <typeparam name="T">Type of the data being read</typeparam> + /// <param name="va">Virtual address of the data in memory</param> + /// <returns>The data</returns> + T ReadTracked<T>(ulong va) where T : unmanaged; + + /// <summary> /// Writes data to CPU mapped memory, without write tracking. /// </summary> /// <param name="va">Virtual address to write the data into</param> diff --git a/Ryujinx.Cpu/MemoryManager.cs b/Ryujinx.Cpu/MemoryManager.cs index 153bff62..2c11bab8 100644 --- a/Ryujinx.Cpu/MemoryManager.cs +++ b/Ryujinx.Cpu/MemoryManager.cs @@ -117,7 +117,7 @@ namespace Ryujinx.Cpu /// <inheritdoc/> public T Read<T>(ulong va) where T : unmanaged { - return MemoryMarshal.Cast<byte, T>(GetSpan(va, Unsafe.SizeOf<T>(), true))[0]; + return MemoryMarshal.Cast<byte, T>(GetSpan(va, Unsafe.SizeOf<T>()))[0]; } /// <inheritdoc/> |
