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:
gdkchan 2018-05-07 15:53:23 -03:00 committed by GitHub
parent 4419e8d6b4
commit 34037701c7
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
75 changed files with 2472 additions and 1440 deletions

View 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);
}
}