diff --git a/libretro/LibretroGraphicsContext.cpp b/libretro/LibretroGraphicsContext.cpp index 0fd20d41cd..f79c197e9c 100644 --- a/libretro/LibretroGraphicsContext.cpp +++ b/libretro/LibretroGraphicsContext.cpp @@ -42,6 +42,10 @@ LibretroHWRenderContext::LibretroHWRenderContext(retro_hw_context_type context_t void LibretroHWRenderContext::ContextReset() { INFO_LOG(G3D, "Context reset"); + if (gpu && Libretro::useEmuThread) { + Libretro::EmuThreadPause(); + } + if (gpu) { gpu->DeviceLost(); } @@ -57,6 +61,10 @@ void LibretroHWRenderContext::ContextReset() { if (gpu) { gpu->DeviceRestore(draw_); } + + if (gpu && Libretro::useEmuThread) { + Libretro::EmuThreadStart(); + } } void LibretroHWRenderContext::ContextDestroy() {