mirror of
https://github.com/Ryujinx/ChocolArm64.git
synced 2024-12-22 19:45:40 +00:00
NvServices refactoring (#120)
* Initial implementation of NvMap/NvHostCtrl * More work on NvHostCtrl * Refactoring of nvservices, move GPU Vmm, make Vmm per-process, refactor most gpu devices, move Gpu to Core, fix CbBind * Implement GetGpuTime, support CancelSynchronization, fix issue on InsertWaitingMutex, proper double buffering support (again, not working properly for commercial games, only hb) * Try to fix perf regression reading/writing textures, moved syncpts and events to a UserCtx class, delete global state when the process exits, other minor tweaks * Remove now unused code, add comment about probably wrong result codes
This commit is contained in:
parent
f9b17f86c1
commit
428360c5ac
|
@ -6,7 +6,7 @@ using System.Runtime.InteropServices;
|
|||
|
||||
namespace ChocolArm64.Memory
|
||||
{
|
||||
public unsafe class AMemory : IDisposable
|
||||
public unsafe class AMemory : IAMemory, IDisposable
|
||||
{
|
||||
private const long ErgMask = (4 << AThreadState.ErgSizeLog2) - 1;
|
||||
|
||||
|
|
37
Memory/IAMemory.cs
Normal file
37
Memory/IAMemory.cs
Normal file
|
@ -0,0 +1,37 @@
|
|||
namespace ChocolArm64.Memory
|
||||
{
|
||||
public interface IAMemory
|
||||
{
|
||||
sbyte ReadSByte(long Position);
|
||||
|
||||
short ReadInt16(long Position);
|
||||
|
||||
int ReadInt32(long Position);
|
||||
|
||||
long ReadInt64(long Position);
|
||||
|
||||
byte ReadByte(long Position);
|
||||
|
||||
ushort ReadUInt16(long Position);
|
||||
|
||||
uint ReadUInt32(long Position);
|
||||
|
||||
ulong ReadUInt64(long Position);
|
||||
|
||||
void WriteSByte(long Position, sbyte Value);
|
||||
|
||||
void WriteInt16(long Position, short Value);
|
||||
|
||||
void WriteInt32(long Position, int Value);
|
||||
|
||||
void WriteInt64(long Position, long Value);
|
||||
|
||||
void WriteByte(long Position, byte Value);
|
||||
|
||||
void WriteUInt16(long Position, ushort Value);
|
||||
|
||||
void WriteUInt32(long Position, uint Value);
|
||||
|
||||
void WriteUInt64(long Position, ulong Value);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue