Only run Reschedule() once

It doesn't seem to be necessary to run it 2 times. We verified it in 6 games (SMO, SSBU, Pokemon Sword, SMM2, Tetris 99, ACNH?) with no regressions.
This commit is contained in:
Benedani
2020-04-29 09:02:07 +02:00
committed by GitHub
parent 1517cba8ca
commit a76151c14e

View File

@@ -28,8 +28,6 @@ CoreManager::CoreManager(System& system, std::size_t core_index)
CoreManager::~CoreManager() = default;
void CoreManager::RunLoop(bool tight_loop) {
Reschedule();
// If we don't have a currently active thread then don't execute instructions,
// instead advance to the next event and try to yield to the next thread
if (Kernel::GetCurrentThread() == nullptr) {
@@ -42,9 +40,9 @@ void CoreManager::RunLoop(bool tight_loop) {
physical_core.Step();
}
}
core_timing.Advance();
Reschedule();
core_timing.Advance();
}
void CoreManager::SingleStep() {