mirror of
https://git.ryujinx.app/projects/Kenji-NX.git
synced 2026-10-10 20:28:51 +02:00
mono-jit-v2
second attempt at single layer address tables (first attempt https://git.ryujinx.app/projects/Ryubing/pulls/167). should work with all games now. Co-authored-by: LotP1 <68976644+LotP1@users.noreply.github.com>
This commit is contained in:
committed by
KeatonTheBot
co-authored by
LotP1
parent
4b255a98db
commit
521a18f5a7
@@ -20,45 +20,21 @@ namespace ARMeilleure.Common
|
||||
new( 1, 6)
|
||||
];
|
||||
|
||||
private static readonly AddressTableLevel[] _levels64BitSparseTiny =
|
||||
private static readonly AddressTableLevel[] _levels64BitMono =
|
||||
[
|
||||
new( 11, 28),
|
||||
new( 2, 9)
|
||||
new( 2, 37)
|
||||
];
|
||||
|
||||
private static readonly AddressTableLevel[] _levels32BitSparseTiny =
|
||||
private static readonly AddressTableLevel[] _levels32BitMono =
|
||||
[
|
||||
new( 10, 22),
|
||||
new( 1, 9)
|
||||
new( 1, 31)
|
||||
];
|
||||
|
||||
private static readonly AddressTableLevel[] _levels64BitSparseGiant =
|
||||
[
|
||||
new( 38, 1),
|
||||
new( 2, 36)
|
||||
];
|
||||
|
||||
private static readonly AddressTableLevel[] _levels32BitSparseGiant =
|
||||
[
|
||||
new( 31, 1),
|
||||
new( 1, 30)
|
||||
];
|
||||
|
||||
//high power will run worse on DDR3 systems and some DDR4 systems due to the higher ram utilization
|
||||
//low power will never run worse than non-sparse, but for most systems it won't be necessary
|
||||
//high power is always used, but I've left low power in here for future reference
|
||||
public static AddressTableLevel[] GetArmPreset(bool for64Bits, bool sparse, bool lowPower = false)
|
||||
|
||||
public static AddressTableLevel[] GetArmPreset(bool for64Bits, bool mono)
|
||||
{
|
||||
if (sparse)
|
||||
if (mono)
|
||||
{
|
||||
if (lowPower)
|
||||
{
|
||||
return for64Bits ? _levels64BitSparseTiny : _levels32BitSparseTiny;
|
||||
}
|
||||
else
|
||||
{
|
||||
return for64Bits ? _levels64BitSparseGiant : _levels32BitSparseGiant;
|
||||
}
|
||||
return for64Bits ? _levels64BitMono : _levels32BitMono;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user