mirror of
https://git.ryujinx.app/ryubing/ryujinx.git
synced 2025-07-26 07:39:52 -06:00
Add a separate device memory manager (#6153)
* Add a separate device memory manager * Still need this * Device writes are always tracked * Device writes are always tracked (2) * Rename more instances of gmm to mm
This commit is contained in:
@ -1,23 +1,23 @@
|
||||
using Ryujinx.Graphics.Gpu.Memory;
|
||||
using Ryujinx.Graphics.Device;
|
||||
using System;
|
||||
|
||||
namespace Ryujinx.Graphics.Nvdec
|
||||
{
|
||||
static class MemoryExtensions
|
||||
{
|
||||
public static T DeviceRead<T>(this MemoryManager gmm, uint offset) where T : unmanaged
|
||||
public static T DeviceRead<T>(this DeviceMemoryManager gmm, uint offset) where T : unmanaged
|
||||
{
|
||||
return gmm.Read<T>((ulong)offset << 8);
|
||||
return gmm.Read<T>(ExtendOffset(offset));
|
||||
}
|
||||
|
||||
public static ReadOnlySpan<byte> DeviceGetSpan(this MemoryManager gmm, uint offset, int size)
|
||||
public static ReadOnlySpan<byte> DeviceGetSpan(this DeviceMemoryManager gmm, uint offset, int size)
|
||||
{
|
||||
return gmm.GetSpan((ulong)offset << 8, size);
|
||||
return gmm.GetSpan(ExtendOffset(offset), size);
|
||||
}
|
||||
|
||||
public static void DeviceWrite(this MemoryManager gmm, uint offset, ReadOnlySpan<byte> data)
|
||||
public static void DeviceWrite(this DeviceMemoryManager gmm, uint offset, ReadOnlySpan<byte> data)
|
||||
{
|
||||
gmm.Write((ulong)offset << 8, data);
|
||||
gmm.Write(ExtendOffset(offset), data);
|
||||
}
|
||||
|
||||
public static ulong ExtendOffset(uint offset)
|
||||
|
Reference in New Issue
Block a user