mirror of
https://github.com/stenzek/duckstation.git
synced 2026-02-11 00:44:32 +00:00
System: Fix fullscreen state persisting between games
This was not intentional.
This commit is contained in:
@@ -597,11 +597,9 @@ std::optional<GPURenderer> GPUThread::GetRequestedRenderer()
|
||||
return s_state.requested_renderer;
|
||||
}
|
||||
|
||||
bool GPUThread::CreateGPUBackend(GPURenderer renderer, bool upload_vram, bool fullscreen, bool force_recreate_device,
|
||||
Error* error)
|
||||
bool GPUThread::CreateGPUBackend(GPURenderer renderer, bool upload_vram, std::optional<bool> fullscreen, Error* error)
|
||||
{
|
||||
return Reconfigure(renderer, upload_vram, fullscreen ? std::optional<bool>(true) : std::nullopt, std::nullopt,
|
||||
force_recreate_device, error);
|
||||
return Reconfigure(renderer, upload_vram, fullscreen, std::nullopt, false, error);
|
||||
}
|
||||
|
||||
void GPUThread::DestroyGPUBackend()
|
||||
|
||||
@@ -47,8 +47,7 @@ void StopFullscreenUI();
|
||||
|
||||
/// Backend control.
|
||||
std::optional<GPURenderer> GetRequestedRenderer();
|
||||
bool CreateGPUBackend(GPURenderer renderer, bool upload_vram, bool fullscreen, bool force_recreate_device,
|
||||
Error* error);
|
||||
bool CreateGPUBackend(GPURenderer renderer, bool upload_vram, std::optional<bool> fullscreen, Error* error);
|
||||
void DestroyGPUBackend();
|
||||
bool HasGPUBackend();
|
||||
bool IsGPUBackendRequested();
|
||||
|
||||
@@ -1219,7 +1219,7 @@ void System::RecreateGPU(GPURenderer renderer)
|
||||
StopMediaCapture();
|
||||
|
||||
Error error;
|
||||
if (!GPUThread::CreateGPUBackend(renderer, true, false, false, &error))
|
||||
if (!GPUThread::CreateGPUBackend(renderer, true, std::nullopt, &error))
|
||||
{
|
||||
ERROR_LOG("Failed to switch to {} renderer: {}", Settings::GetRendererName(renderer), error.GetDescription());
|
||||
Panic("Failed to switch renderer.");
|
||||
@@ -2007,7 +2007,7 @@ bool System::Initialize(std::unique_ptr<CDImage> disc, DiscRegion disc_region, b
|
||||
|
||||
// This can fail due to the application being closed during startup.
|
||||
if (!GPUThread::CreateGPUBackend(force_software_renderer ? GPURenderer::Software : g_settings.gpu_renderer, false,
|
||||
fullscreen, false, error))
|
||||
fullscreen, error))
|
||||
{
|
||||
// Game info has to be manually cleared since the backend won't shutdown naturally.
|
||||
GPUThread::ClearGameInfo();
|
||||
|
||||
Reference in New Issue
Block a user