Apply More Core::RunAsCPUThread

In places where applicable, Core::RunAsCPUThread has replaced Core::SetState workarounds to pause and resume emulation for thread-sensitive operations.
 - void Core::SaveScreenShot()
 - void Core::SaveScreenShot(std::string_view name)
 - void JitInterface::GetProfileResults(Profiler::ProfileStats *prof_stats)
 - void MainWindow::OnExportRecording()
This commit is contained in:
Minty-Meeo
2021-03-18 22:31:28 -05:00
parent bc4d0b3ef8
commit db7f3f8f25
3 changed files with 24 additions and 47 deletions

View File

@ -732,26 +732,14 @@ static std::string GenerateScreenshotName()
void SaveScreenShot()
{
const bool bPaused = GetState() == State::Paused;
SetState(State::Paused);
g_renderer->SaveScreenshot(GenerateScreenshotName());
if (!bPaused)
SetState(State::Running);
Core::RunAsCPUThread([] { g_renderer->SaveScreenshot(GenerateScreenshotName()); });
}
void SaveScreenShot(std::string_view name)
{
const bool bPaused = GetState() == State::Paused;
SetState(State::Paused);
g_renderer->SaveScreenshot(fmt::format("{}{}.png", GenerateScreenshotFolderPath(), name));
if (!bPaused)
SetState(State::Running);
Core::RunAsCPUThread([&name] {
g_renderer->SaveScreenshot(fmt::format("{}{}.png", GenerateScreenshotFolderPath(), name));
});
}
void RequestRefreshInfo()