mirror of
https://github.com/Ryujinx/Ryujinx.git
synced 2024-06-02 21:28:46 +02:00
f241f88558
* 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
41 lines
857 B
C#
41 lines
857 B
C#
using System.Threading;
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Nv.NvDrvServices.NvMap
|
|
{
|
|
class NvMapHandle
|
|
{
|
|
#pragma warning disable CS0649 // Field is never assigned to
|
|
public int Handle;
|
|
public int Id;
|
|
#pragma warning restore CS0649
|
|
public uint Size;
|
|
public int Align;
|
|
public int Kind;
|
|
public ulong Address;
|
|
public bool Allocated;
|
|
public ulong DmaMapAddress;
|
|
|
|
private long _dupes;
|
|
|
|
public NvMapHandle()
|
|
{
|
|
_dupes = 1;
|
|
}
|
|
|
|
public NvMapHandle(uint size) : this()
|
|
{
|
|
Size = size;
|
|
}
|
|
|
|
public void IncrementRefCount()
|
|
{
|
|
Interlocked.Increment(ref _dupes);
|
|
}
|
|
|
|
public long DecrementRefCount()
|
|
{
|
|
return Interlocked.Decrement(ref _dupes);
|
|
}
|
|
}
|
|
}
|