From 3093d4086952ab5cf8b7607f1e65a6295296e1d4 Mon Sep 17 00:00:00 2001 From: Stenzek Date: Sat, 11 Nov 2023 13:35:14 +1000 Subject: [PATCH] Qt: Update link --- src/core/cpu_recompiler_code_generator.cpp | 8 ++++++-- src/duckstation-qt/mainwindow.cpp | 11 +---------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/src/core/cpu_recompiler_code_generator.cpp b/src/core/cpu_recompiler_code_generator.cpp index b7b98843f..c7f1d746c 100644 --- a/src/core/cpu_recompiler_code_generator.cpp +++ b/src/core/cpu_recompiler_code_generator.cpp @@ -2730,26 +2730,28 @@ bool CodeGenerator::Compile_cop0(Instruction instruction, const CodeCache::Instr // Emit an interrupt check on load of CAUSE/SR. Value sr_value = m_register_cache.AllocateScratch(RegSize_32); Value cause_value = m_register_cache.AllocateScratch(RegSize_32); + m_register_cache.InhibitAllocation(); // m_cop0_regs.sr.IEc && ((m_cop0_regs.cause.Ip & m_cop0_regs.sr.Im) != 0) LabelType no_interrupt; EmitLoadCPUStructField(sr_value.host_reg, sr_value.size, offsetof(State, cop0_regs.sr.bits)); EmitLoadCPUStructField(cause_value.host_reg, cause_value.size, offsetof(State, cop0_regs.cause.bits)); EmitBranchIfBitClear(sr_value.host_reg, sr_value.size, 0, &no_interrupt); - m_register_cache.InhibitAllocation(); EmitAnd(sr_value.host_reg, sr_value.host_reg, cause_value); EmitTest(sr_value.host_reg, Value::FromConstantU32(0xFF00)); EmitConditionalBranch(Condition::Zero, false, &no_interrupt); + m_register_cache.UninhibitAllocation(); EmitBranch(GetCurrentFarCodePointer()); SwitchToFarCode(); + m_register_cache.PushState(); WriteNewPC(CalculatePC(), false); EmitStoreCPUStructField(offsetof(State, downcount), Value::FromConstantU32(0)); EmitExceptionExit(); + m_register_cache.PopState(); SwitchToNearCode(); EmitBindLabel(&no_interrupt); - m_register_cache.UninhibitAllocation(); } else if (reg == Cop0Reg::DCIC && g_settings.cpu_recompiler_memory_exceptions) { @@ -2780,8 +2782,10 @@ bool CodeGenerator::Compile_cop0(Instruction instruction, const CodeCache::Instr // exit block early if enabled EmitBranch(GetCurrentFarCodePointer()); SwitchToFarCode(); + m_register_cache.PushState(); WriteNewPC(CalculatePC(), false); EmitExceptionExit(); + m_register_cache.PopState(); SwitchToNearCode(); EmitBindLabel(¬_enabled); diff --git a/src/duckstation-qt/mainwindow.cpp b/src/duckstation-qt/mainwindow.cpp index 0c5866670..c1f2a7d96 100644 --- a/src/duckstation-qt/mainwindow.cpp +++ b/src/duckstation-qt/mainwindow.cpp @@ -1304,7 +1304,7 @@ void MainWindow::onGitHubRepositoryActionTriggered() void MainWindow::onIssueTrackerActionTriggered() { - QtUtils::OpenURL(this, "https://github.com/stenzek/duckstation/issues"); + QtUtils::OpenURL(this, "https://www.duckstation.org/issues.html"); } void MainWindow::onDiscordServerActionTriggered() @@ -1360,9 +1360,6 @@ void MainWindow::onGameListEntryActivated() return; } - // we might still be saving a resume state... - // System::WaitForSaveStateFlush(); - std::optional save_path; if (!entry->serial.empty()) { @@ -2644,12 +2641,6 @@ void MainWindow::requestExit(bool allow_confirm /* = true */) void MainWindow::checkForSettingChanges() { -#if 0 - // FIXME: Triggers incorrectly - if (m_display_widget) - m_display_widget->updateRelativeMode(s_system_valid && !s_system_paused); -#endif - LogWindow::updateSettings(); updateWindowState(); }