summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorJosJuice <josjuice@gmail.com>2017-04-18 09:54:04 +0200
committerGitHub <noreply@github.com>2017-04-18 09:54:04 +0200
commitfd0b99be2e7bd69e25d08c42fa65c9566330f179 (patch)
tree5f35d42ffb973495792652f0e2255e9bf56ad949 /Source/Android/app/src/main/java
parentf3f9489852bfcb1f7744ec3ff3108270b0070ea1 (diff)
parent9cd9ae902a7c32e5d49840609259ff5a77e3af56 (diff)
Merge pull request #5273 from JosJuice/android-x86-64
x86-64 support on Android
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java2
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java25
2 files changed, 25 insertions, 2 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
index 464d841277..bb9a75194b 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/NativeLibrary.java
@@ -323,6 +323,8 @@ public final class NativeLibrary
*/
public static native String GetUserDirectory();
+ public static native int DefaultCPUCore();
+
/**
* Begins emulation.
*/
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java
index 1ad529afd8..aa02ad3e5c 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/ui/settings/SettingsFragmentPresenter.java
@@ -1,5 +1,6 @@
package org.dolphinemu.dolphinemu.ui.settings;
+import org.dolphinemu.dolphinemu.NativeLibrary;
import org.dolphinemu.dolphinemu.R;
import org.dolphinemu.dolphinemu.model.settings.BooleanSetting;
import org.dolphinemu.dolphinemu.model.settings.IntSetting;
@@ -179,8 +180,28 @@ public final class SettingsFragmentPresenter
mView.passSettingsToActivity(mSettings);
}
- // TODO Set default value for cpuCore based on arch.
- sl.add(new SingleChoiceSetting(SettingsFile.KEY_CPU_CORE, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.cpu_core, 0, R.array.emuCoresEntries, R.array.emuCoresValues, 4, cpuCore));
+ // TODO: Having different emuCoresEntries/emuCoresValues for each architecture is annoying.
+ // The proper solution would be to have one emuCoresEntries and one emuCoresValues
+ // and exclude the values that aren't present in PowerPC::AvailableCPUCores().
+ int defaultCpuCore = NativeLibrary.DefaultCPUCore();
+ int emuCoresEntries;
+ int emuCoresValues;
+ if (defaultCpuCore == 1) // x86-64
+ {
+ emuCoresEntries = R.array.emuCoresEntriesX86_64;
+ emuCoresValues = R.array.emuCoresValuesX86_64;
+ }
+ else if (defaultCpuCore == 4) // AArch64
+ {
+ emuCoresEntries = R.array.emuCoresEntriesARM64;
+ emuCoresValues = R.array.emuCoresValuesARM64;
+ }
+ else
+ {
+ emuCoresEntries = R.array.emuCoresEntriesGeneric;
+ emuCoresValues = R.array.emuCoresValuesGeneric;
+ }
+ sl.add(new SingleChoiceSetting(SettingsFile.KEY_CPU_CORE, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.cpu_core, 0, emuCoresEntries, emuCoresValues, defaultCpuCore, cpuCore));
sl.add(new CheckBoxSetting(SettingsFile.KEY_DUAL_CORE, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.dual_core, R.string.dual_core_descrip, true, dualCore));
sl.add(new CheckBoxSetting(SettingsFile.KEY_OVERCLOCK_ENABLE, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.overclock_enable, R.string.overclock_enable_description, false, overclockEnable));
sl.add(new SliderSetting(SettingsFile.KEY_OVERCLOCK_PERCENT, SettingsFile.SECTION_CORE, SettingsFile.SETTINGS_DOLPHIN, R.string.overclock_title, 0, 400, "%", 100, overclock));