mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-02 07:58:56 +02:00
Android fixes and features
* Jit cache eviction (fixes out of memory errors in some games) * Low power PPTC * Fix 'unknown' games displayed when using game folder with subfolders * Turn off NCE and PPTC by default
This commit is contained in:
@@ -121,7 +121,7 @@ namespace Ryujinx.HLE.Loaders.Processes.Extensions
|
||||
device.System.KernelContext,
|
||||
metaLoader,
|
||||
nacpData,
|
||||
device.System.EnablePtc,
|
||||
enablePtc,
|
||||
modLoadResult.Hash,
|
||||
true,
|
||||
programName,
|
||||
|
||||
@@ -305,6 +305,13 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
|
||||
if (string.IsNullOrWhiteSpace(programName))
|
||||
{
|
||||
foreach (ApplicationControlProperty.ApplicationTitle nacpTitles in nacpData.Value.Title)
|
||||
{
|
||||
if (nacpTitles.Name[0] != 0)
|
||||
continue;
|
||||
|
||||
programName = nacpTitles.NameString.ToString();
|
||||
}
|
||||
programName = Array.Find(nacpData.Value.Title.AsReadOnlySpan().ToArray(), x => x.Name[0] != 0).NameString.ToString();
|
||||
}
|
||||
|
||||
|
||||
@@ -235,7 +235,7 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
ulong programId,
|
||||
byte programIndex,
|
||||
byte[] arguments = null,
|
||||
params IExecutable[] executables)
|
||||
params ReadOnlySpan<IExecutable> executables)
|
||||
{
|
||||
context.Device.System.ServiceTable.WaitServicesReady();
|
||||
|
||||
@@ -255,12 +255,17 @@ namespace Ryujinx.HLE.Loaders.Processes
|
||||
ulong codeStart = ((meta.Flags & 1) != 0 ? 0x8000000UL : 0x200000UL) + CodeStartOffset;
|
||||
ulong codeSize = 0;
|
||||
|
||||
IEnumerable<string> buildIds = executables.Select(e => (e switch
|
||||
string[] buildIds = new string[executables.Length];
|
||||
|
||||
for (int i = 0; i < executables.Length; i++)
|
||||
{
|
||||
NsoExecutable nso => Convert.ToHexString(nso.BuildId),
|
||||
NroExecutable nro => Convert.ToHexString(nro.Header.BuildId),
|
||||
_ => string.Empty,
|
||||
}).ToUpper());
|
||||
buildIds[i] = (executables[i] switch
|
||||
{
|
||||
NsoExecutable nso => Convert.ToHexString(nso.BuildId),
|
||||
NroExecutable nro => Convert.ToHexString(nro.Header.BuildId),
|
||||
_ => string.Empty
|
||||
}).ToUpper();
|
||||
}
|
||||
|
||||
NceCpuCodePatch[] nsoPatch = new NceCpuCodePatch[executables.Length];
|
||||
ulong[] nsoBase = new ulong[executables.Length];
|
||||
|
||||
Reference in New Issue
Block a user