Disable memory checks by default, even on debug, move ram memory allocation inside the CPU, since the size if fixed anyway, better heap region size
This commit is contained in:
@@ -9,6 +9,9 @@ namespace Ryujinx.Core.OsHle
|
||||
public const long MapRegionAddress = 0x10000000;
|
||||
public const long MapRegionSize = 0x20000000;
|
||||
|
||||
public const long HeapRegionAddress = MapRegionAddress + MapRegionSize;
|
||||
public const long HeapRegionSize = TlsPagesAddress - HeapRegionAddress;
|
||||
|
||||
public const long MainStackSize = 0x100000;
|
||||
|
||||
public const long MainStackAddress = AMemoryMgr.AddrSize - MainStackSize;
|
||||
@@ -17,8 +20,6 @@ namespace Ryujinx.Core.OsHle
|
||||
|
||||
public const long TlsPagesAddress = MainStackAddress - TlsPagesSize;
|
||||
|
||||
public const long HeapRegionAddress = MapRegionAddress + MapRegionSize;
|
||||
|
||||
public const long TotalMemoryUsed = HeapRegionAddress + TlsPagesSize + MainStackSize;
|
||||
|
||||
public const long TotalMemoryAvailable = AMemoryMgr.RamSize - AddrSpaceStart;
|
||||
|
@@ -45,7 +45,7 @@ namespace Ryujinx.Core.OsHle
|
||||
this.Ns = Ns;
|
||||
this.ProcessId = ProcessId;
|
||||
|
||||
Memory = new AMemory(Ns.Ram);
|
||||
Memory = Ns.Memory;
|
||||
|
||||
Scheduler = new KProcessScheduler();
|
||||
|
||||
|
@@ -264,11 +264,11 @@ namespace Ryujinx.Core.OsHle.IpcServices.Android
|
||||
int FbWidth = BufferQueue[Slot].Data.Width;
|
||||
int FbHeight = BufferQueue[Slot].Data.Height;
|
||||
|
||||
int FbSize = FbWidth * FbHeight * 4;
|
||||
long FbSize = (uint)FbWidth * FbHeight * 4;
|
||||
|
||||
HNvMap NvMap = GetNvMap(Context, Slot);
|
||||
|
||||
if (FbSize < 0 || NvMap.Address < 0 || NvMap.Address + FbSize > AMemoryMgr.AddrSize)
|
||||
if ((ulong)(NvMap.Address + FbSize) > AMemoryMgr.AddrSize)
|
||||
{
|
||||
Logging.Error($"Frame buffer address {NvMap.Address:x16} is invalid!");
|
||||
|
||||
@@ -330,7 +330,7 @@ namespace Ryujinx.Core.OsHle.IpcServices.Android
|
||||
Rotate = -MathF.PI * 0.5f;
|
||||
}
|
||||
|
||||
byte* Fb = (byte*)Context.Ns.Ram + NvMap.Address;
|
||||
byte* Fb = (byte*)Context.Ns.Memory.Ram + NvMap.Address;
|
||||
|
||||
Context.Ns.Gpu.Renderer.QueueAction(delegate()
|
||||
{
|
||||
|
@@ -197,7 +197,7 @@ namespace Ryujinx.Core.OsHle.Svc
|
||||
break;
|
||||
|
||||
case 5:
|
||||
ThreadState.X1 = CurrentHeapSize;
|
||||
ThreadState.X1 = MemoryRegions.HeapRegionSize;
|
||||
break;
|
||||
|
||||
case 6:
|
||||
|
Reference in New Issue
Block a user