need to figure out why n64-systemtest loops indefinitely at some address that appears to be valid (i think it's me not invalidating the cache properly)
This commit is contained in:
@@ -6,21 +6,17 @@
|
||||
|
||||
CPUSettings::CPUSettings() {
|
||||
auto selectedCpuType = Options::GetInstance().GetValue<std::string>("cpu", "type");
|
||||
if (selectedCpuType == "jit") {
|
||||
selectedCpuTypeIndex = 2;
|
||||
} else if (selectedCpuType == "cached_interpreter") {
|
||||
if (selectedCpuType == "cached_interpreter") {
|
||||
selectedCpuTypeIndex = 1;
|
||||
} else {
|
||||
selectedCpuTypeIndex = 0;
|
||||
}
|
||||
|
||||
idleSkip = Options::GetInstance().GetValue<bool>("cpu", "idleSkip");
|
||||
}
|
||||
|
||||
void CPUSettings::render() {
|
||||
const char *items[] = {"Interpreter", "Cached Interpreter",
|
||||
#ifdef KAIZEN_JIT_ENABLED
|
||||
"Dynamic Recompiler"
|
||||
#endif
|
||||
};
|
||||
const char *items[] = {"Interpreter", "Cached Interpreter"};
|
||||
|
||||
const char *combo_preview_value = items[selectedCpuTypeIndex];
|
||||
if (ImGui::BeginCombo("CPU Type", combo_preview_value)) {
|
||||
@@ -38,16 +34,23 @@ void CPUSettings::render() {
|
||||
ImGui::EndCombo();
|
||||
}
|
||||
|
||||
bool showIdleSkipping = std::string(items[selectedCpuTypeIndex]) == "Cached Interpreter";
|
||||
if (showIdleSkipping)
|
||||
if (ImGui::Checkbox("Idle skipping", &idleSkip))
|
||||
modified = true;
|
||||
|
||||
if (modified) {
|
||||
if (selectedCpuTypeIndex == 0) {
|
||||
Options::GetInstance().SetValue<std::string>("cpu", "type", "interpreter");
|
||||
n64::Core::GetInstance().cpuType = n64::Core::Interpreted;
|
||||
} else if (selectedCpuTypeIndex == 1) {
|
||||
Options::GetInstance().SetValue<std::string>("cpu", "type", "cached_interpreter");
|
||||
n64::Core::GetInstance().cpuType = n64::Core::CachedInterpreter;
|
||||
idleSkip = false;
|
||||
Options::GetInstance().SetValue<bool>("cpu", "idleSkip", idleSkip);
|
||||
n64::Core::GetInstance().cpuType = n64::Core::PlainInterpreter;
|
||||
n64::Core::GetInstance().idleSkip = idleSkip;
|
||||
} else {
|
||||
Options::GetInstance().SetValue<std::string>("cpu", "type", "jit");
|
||||
n64::Core::GetInstance().cpuType = n64::Core::DynamicRecompiler;
|
||||
Options::GetInstance().SetValue<std::string>("cpu", "type", "cached_interpreter");
|
||||
Options::GetInstance().SetValue<bool>("cpu", "idleSkip", idleSkip);
|
||||
n64::Core::GetInstance().cpuType = n64::Core::CachedInterpreter;
|
||||
n64::Core::GetInstance().idleSkip = idleSkip;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user