Host: Avoid leaving GPU state unbound after represent

This commit is contained in:
Stenzek 2023-08-24 18:03:14 +10:00
parent d750e4d417
commit 08acc3144c
2 changed files with 4 additions and 7 deletions

View file

@ -3,6 +3,7 @@
#include "host.h"
#include "fullscreen_ui.h"
#include "gpu.h"
#include "imgui_overlays.h"
#include "shader_cache_version.h"
#include "system.h"
@ -490,6 +491,9 @@ void Host::RenderDisplay(bool skip_present)
g_gpu_device->Render(skip_present);
ImGuiManager::NewFrame();
if (g_gpu)
g_gpu->RestoreGraphicsAPIState();
}
void Host::InvalidateDisplay()

View file

@ -1167,7 +1167,6 @@ bool System::LoadState(const char* filename)
ResetPerformanceCounters();
ResetThrottler();
Host::RenderDisplay(false);
g_gpu->RestoreGraphicsAPIState();
Log_VerbosePrintf("Loading state took %.2f msec", load_timer.GetTimeMilliseconds());
return true;
}
@ -1832,8 +1831,6 @@ void System::FrameDone()
s_accumulated_gpu_time += g_gpu_device->GetAndResetAccumulatedGPUTime();
s_presents_since_last_update++;
}
g_gpu->RestoreGraphicsAPIState();
}
else if (current_time >= s_next_frame_time)
{
@ -2184,8 +2181,6 @@ void System::InternalReset()
if (IsShutdown())
return;
g_gpu->RestoreGraphicsAPIState();
CPU::Reset();
CPU::CodeCache::Flush();
if (g_settings.gpu_pgxp_enable)
@ -3918,8 +3913,6 @@ void System::DoRewind()
s_next_frame_time += s_frame_period;
Host::RenderDisplay(false);
g_gpu->RestoreGraphicsAPIState();
Host::PumpMessagesOnCPUThread();
Throttle();