From bfe16fdf4e89ddc1ca6e5836409a2cfbf446cfbf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Thu, 18 Jan 2024 18:46:52 +0100 Subject: [PATCH] EmuScreen: Need to call UIContext::BeginFrame at some point in all cases. --- UI/EmuScreen.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/UI/EmuScreen.cpp b/UI/EmuScreen.cpp index f4e58c513e..415fbecbe2 100644 --- a/UI/EmuScreen.cpp +++ b/UI/EmuScreen.cpp @@ -1522,6 +1522,8 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) { gpu->CopyDisplayToOutput(true); PSP_EndHostFrame(); } + // Need to make sure the UI texture is available, for "darken". + screenManager()->getUIContext()->BeginFrame(); draw->SetViewport(viewport); draw->SetScissorRect(0, 0, g_display.pixel_xres, g_display.pixel_yres); darken(); @@ -1539,6 +1541,8 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) { checkPowerDown(); } draw->BindFramebufferAsRenderTarget(nullptr, { RPAction::CLEAR, RPAction::CLEAR, RPAction::CLEAR }, "EmuScreen_Invalid"); + // Need to make sure the UI texture is available, for "darken". + screenManager()->getUIContext()->BeginFrame(); draw->SetViewport(viewport); draw->SetScissorRect(0, 0, g_display.pixel_xres, g_display.pixel_yres); renderUI(); @@ -1608,6 +1612,8 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) { PSP_EndHostFrame(); } + screenManager()->getUIContext()->BeginFrame(); + if (gpu && !gpu->PresentedThisFrame() && !skipBufferEffects) { draw->BindFramebufferAsRenderTarget(nullptr, { RPAction::CLEAR, RPAction::CLEAR, RPAction::CLEAR, clearColor }, "EmuScreen_NoFrame"); draw->SetViewport(viewport);