mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-06 04:09:59 +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:
@@ -79,6 +79,8 @@ namespace LibKenjinx
|
||||
int vSyncMode,
|
||||
bool enableDockedMode,
|
||||
bool enablePtc,
|
||||
bool enableLowPowerPtc,
|
||||
bool enableJitCacheEviction,
|
||||
bool enableInternetAccess,
|
||||
bool enableFsIntegrityChecks,
|
||||
int fsGlobalAccessLogMode,
|
||||
@@ -98,6 +100,8 @@ namespace LibKenjinx
|
||||
(VSyncMode)vSyncMode,
|
||||
enableDockedMode,
|
||||
enablePtc,
|
||||
enableLowPowerPtc,
|
||||
enableJitCacheEviction,
|
||||
enableInternetAccess,
|
||||
enableFsIntegrityChecks,
|
||||
fsGlobalAccessLogMode,
|
||||
|
||||
@@ -26,6 +26,8 @@ namespace LibKenjinx
|
||||
VSyncMode vSyncMode,
|
||||
bool enableDockedMode,
|
||||
bool enablePtc,
|
||||
bool enableLowPowerPtc,
|
||||
bool enableJitCacheEviction,
|
||||
bool enableInternetAccess,
|
||||
bool enableFsIntegrityChecks,
|
||||
int fsGlobalAccessLogMode,
|
||||
@@ -45,6 +47,8 @@ namespace LibKenjinx
|
||||
vSyncMode,
|
||||
enableDockedMode,
|
||||
enablePtc,
|
||||
enableLowPowerPtc,
|
||||
enableJitCacheEviction,
|
||||
enableInternetAccess,
|
||||
enableFsIntegrityChecks,
|
||||
fsGlobalAccessLogMode,
|
||||
|
||||
@@ -10,6 +10,7 @@ using Ryujinx.Graphics.Gpu;
|
||||
using Ryujinx.Graphics.Gpu.Shader;
|
||||
using Ryujinx.Graphics.OpenGL;
|
||||
using Ryujinx.Graphics.Vulkan;
|
||||
using Ryujinx.UI.Common.Configuration;
|
||||
using Silk.NET.Vulkan;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
@@ -94,6 +95,9 @@ namespace LibKenjinx
|
||||
{
|
||||
return;
|
||||
}
|
||||
ARMeilleure.Optimizations.EcoFriendly = SwitchDevice!.EnableLowPowerPtc;
|
||||
ARMeilleure.Optimizations.CacheEviction = SwitchDevice!.EnableJitCacheEviction;
|
||||
|
||||
var device = SwitchDevice!.EmulationContext!;
|
||||
_gpuDoneEvent = new ManualResetEvent(true);
|
||||
|
||||
|
||||
@@ -41,6 +41,8 @@ namespace LibKenjinx
|
||||
VSyncMode vSyncMode,
|
||||
bool enableDockedMode,
|
||||
bool enablePtc,
|
||||
bool enableLowPowerPtc,
|
||||
bool enableJitCacheEviction,
|
||||
bool enableInternetAccess,
|
||||
bool enableFsIntegrityChecks,
|
||||
int fsGlobalAccessLogMode,
|
||||
@@ -55,6 +57,8 @@ namespace LibKenjinx
|
||||
vSyncMode,
|
||||
enableDockedMode,
|
||||
enablePtc,
|
||||
enableLowPowerPtc,
|
||||
enableJitCacheEviction,
|
||||
enableInternetAccess,
|
||||
enableFsIntegrityChecks,
|
||||
fsGlobalAccessLogMode,
|
||||
|
||||
@@ -419,7 +419,7 @@ namespace LibKenjinx
|
||||
}
|
||||
|
||||
// Return the ControlFS
|
||||
controlFs = controlNca?.OpenFileSystem(NcaSectionType.Data, IntegrityCheckLevel.None);
|
||||
controlFs = controlNca?.OpenFileSystem(NcaSectionType.Data, SwitchDevice.EnableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None);
|
||||
titleId = controlNca?.Header.TitleId.ToString("x16");
|
||||
}
|
||||
|
||||
@@ -486,7 +486,7 @@ namespace LibKenjinx
|
||||
|
||||
if (patchNca != null && controlNca != null)
|
||||
{
|
||||
updatedControlFs = controlNca.OpenFileSystem(NcaSectionType.Data, IntegrityCheckLevel.None);
|
||||
updatedControlFs = controlNca.OpenFileSystem(NcaSectionType.Data, SwitchDevice.EnableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None);
|
||||
|
||||
return true;
|
||||
}
|
||||
@@ -708,6 +708,10 @@ namespace LibKenjinx
|
||||
public InputManager? InputManager { get; set; }
|
||||
public Switch? EmulationContext { get; set; }
|
||||
public IHostUIHandler? HostUiHandler { get; set; }
|
||||
public bool EnableLowPowerPtc { get; set; }
|
||||
public bool EnableJitCacheEviction { get; set; }
|
||||
|
||||
public bool EnableFsIntegrityChecks { get; set; }
|
||||
|
||||
internal void DisposeContext()
|
||||
{
|
||||
@@ -803,6 +807,8 @@ namespace LibKenjinx
|
||||
VSyncMode vSyncMode,
|
||||
bool enableDockedMode,
|
||||
bool enablePtc,
|
||||
bool enableLowPowerPtc,
|
||||
bool enableJitCacheEviction,
|
||||
bool enableInternetAccess,
|
||||
bool enableFsIntegrityChecks,
|
||||
int fsGlobalAccessLogMode,
|
||||
@@ -824,6 +830,10 @@ namespace LibKenjinx
|
||||
renderer = new ThreadedRenderer(renderer);
|
||||
}
|
||||
|
||||
EnableLowPowerPtc = enableLowPowerPtc;
|
||||
EnableJitCacheEviction = enableJitCacheEviction;
|
||||
EnableFsIntegrityChecks = enableFsIntegrityChecks;
|
||||
|
||||
HLEConfiguration configuration = new HLEConfiguration(VirtualFileSystem,
|
||||
LibHacHorizonManager,
|
||||
ContentManager,
|
||||
@@ -839,7 +849,7 @@ namespace LibKenjinx
|
||||
enableDockedMode,
|
||||
enablePtc,
|
||||
enableInternetAccess,
|
||||
enableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None,
|
||||
EnableFsIntegrityChecks ? IntegrityCheckLevel.ErrorOnInvalid : IntegrityCheckLevel.None,
|
||||
fsGlobalAccessLogMode,
|
||||
0,
|
||||
timeZone,
|
||||
|
||||
Reference in New Issue
Block a user