Merge pull request #18644 from hrydgard/fix-scekernelexit

Fix sceKernelExitGame (regressed with the run-in-background stuff)
This commit is contained in:
Henrik Rydgård 2023-12-30 12:55:09 +01:00 committed by GitHub
commit 305b0bb2a4
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1535,7 +1535,9 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) {
// It's possible this might be set outside PSP_RunLoopFor().
// In this case, we need to double check it here.
checkPowerDown();
if (mode & ScreenRenderMode::TOP) {
checkPowerDown();
}
draw->BindFramebufferAsRenderTarget(nullptr, { RPAction::CLEAR, RPAction::CLEAR, RPAction::CLEAR }, "EmuScreen_Invalid");
draw->SetViewport(viewport);
draw->SetScissorRect(0, 0, g_display.pixel_xres, g_display.pixel_yres);
@ -1622,6 +1624,9 @@ ScreenRenderFlags EmuScreen::render(ScreenRenderMode mode) {
return flags;
}
// NOTE: We don't check for powerdown if we're not the top screen.
checkPowerDown();
if (hasVisibleUI()) {
// In most cases, this should already be bound and a no-op.
draw->BindFramebufferAsRenderTarget(nullptr, { RPAction::KEEP, RPAction::DONT_CARE, RPAction::DONT_CARE }, "EmuScreen_UI");