|
|
|
@ -20,10 +20,7 @@
|
|
|
|
|
EmuThread::EmuThread(GRenderWindow* render_window) : render_window(render_window) {}
|
|
|
|
|
|
|
|
|
|
void EmuThread::run() {
|
|
|
|
|
if (!Settings::values.use_multi_core) {
|
|
|
|
|
// Single core mode must acquire OpenGL context for entire emulation session
|
|
|
|
|
render_window->MakeCurrent();
|
|
|
|
|
}
|
|
|
|
|
render_window->MakeCurrent();
|
|
|
|
|
|
|
|
|
|
MicroProfileOnThreadCreate("EmuThread");
|
|
|
|
|
|
|
|
|
@ -38,6 +35,11 @@ void EmuThread::run() {
|
|
|
|
|
|
|
|
|
|
emit LoadProgress(VideoCore::LoadCallbackStage::Complete, 0, 0);
|
|
|
|
|
|
|
|
|
|
if (Settings::values.use_asynchronous_gpu_emulation) {
|
|
|
|
|
// Release OpenGL context for the GPU thread
|
|
|
|
|
render_window->DoneCurrent();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
// holds whether the cpu was running during the last iteration,
|
|
|
|
|
// so that the DebugModeLeft signal can be emitted before the
|
|
|
|
|
// next execution step
|
|
|
|
|