Libretro: Freeze fix

Broke in #21221, forgot to apply the refactoring with libretro
This commit is contained in:
Henrik Rydgård
2026-02-10 08:25:52 +01:00
parent 09b087f16f
commit 9936fcfee3
+14 -3
View File
@@ -1360,9 +1360,9 @@ namespace Libretro
ctx->GetDrawContext()->BeginFrame(Draw::DebugFlags::NONE);
}
const DisplayLayoutConfig &displayLayoutConfig = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation());
if (gpu) {
const DisplayLayoutConfig &config = g_Config.GetDisplayLayoutConfig(g_display.GetDeviceOrientation());
gpu->BeginHostFrame(config);
gpu->BeginHostFrame(displayLayoutConfig);
}
PSP_RunLoopWhileState();
@@ -1377,9 +1377,20 @@ namespace Libretro
break;
}
if (gpu)
if (gpu) {
gpu->EndHostFrame();
gpu->PrepareCopyDisplayToOutput(displayLayoutConfig);
}
// gotta do the backbuffer bind somewhere.
using namespace Draw;
ctx->GetDrawContext()->BindFramebufferAsRenderTarget(nullptr, {RPAction::CLEAR, RPAction::CLEAR, RPAction::CLEAR}, "BackBuffer");
if (gpu) {
gpu->CopyDisplayToOutput(displayLayoutConfig);
}
if (ctx->GetDrawContext()) {
ctx->GetDrawContext()->EndFrame();
ctx->GetDrawContext()->Present(Draw::PresentMode::FIFO);