CPU/Recompiler: Implement LUT-based fastmem

This commit is contained in:
Connor McLaughlin
2020-11-23 01:06:25 +10:00
parent 44b3c9be6e
commit bf2e38aed5
26 changed files with 1177 additions and 454 deletions

View File

@ -21,6 +21,16 @@
<item>CachedInterpreter</item>
<item>Recompiler</item>
</string-array>
<string-array name="settings_cpu_fastmem_mode_entries">
<item>Disabled (Slowest)</item>
<item>MMap (Hardware, Fastest, 64-Bit Only)</item>
<item>LUT (Faster)</item>
</string-array>
<string-array name="settings_cpu_fastmem_mode_values">
<item>Disabled</item>
<item>MMap</item>
<item>LUT</item>
</string-array>
<string-array name="gpu_renderer_entries">
<item>Hardware (OpenGL)</item>
<item>Hardware (Vulkan)</item>

View File

@ -47,10 +47,13 @@
app:defaultValue="false"
app:summary="Determines whether the CPU's instruction cache is simulated in the recompiler. Improves accuracy at a small cost to performance. If games are running too fast, try enabling this option."
app:iconSpaceReserved="false" />
<SwitchPreferenceCompat
app:key="CPU/Fastmem"
<ListPreference
app:key="CPU/FastmemMode"
app:title="CPU Recompiler Fast Memory Access"
app:defaultValue="true"
app:entries="@array/settings_cpu_fastmem_mode_entries"
app:entryValues="@array/settings_cpu_fastmem_mode_values"
app:useSimpleSummaryProvider="true"
app:defaultValue="MMap"
app:summary="Makes guest memory access more efficient by using page faults and backpatching. Disable if it is unstable on your device."
app:iconSpaceReserved="false" />
<ListPreference