Changed bFullScreenExclusive to bAllowFullScreenExclusive

There's no guarantee VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT will enter Fullscreen exclusive (FSE). Under the right conditions, the driver and/or DWM can grant FSE. Adding "allow" to the FSE setting should make this a bit clearer.
This commit is contained in:
jasaaved
2026-06-04 12:54:52 -07:00
parent 0147ea0ae8
commit 95006cf1d3
4 changed files with 7 additions and 7 deletions
+1 -1
View File
@@ -748,8 +748,8 @@ static const ConfigSetting graphicsSettings[] = {
#ifndef MOBILE_DEVICE
ConfigSetting("FullScreen", SETTING(g_Config, bFullScreen), false, CfgFlag::DEFAULT),
ConfigSetting("FullScreenExclusive", SETTING(g_Config, bAllowFullScreenExclusive), false, CfgFlag::DEFAULT),
ConfigSetting("FullScreenMulti", SETTING(g_Config, bFullScreenMulti), false, CfgFlag::DEFAULT),
ConfigSetting("FullScreenExclusive", SETTING(g_Config, bFullScreenExclusive), false, CfgFlag::DEFAULT),
#endif
#if PPSSPP_PLATFORM(IOS)
+1 -1
View File
@@ -325,7 +325,7 @@ public:
int iAppSwitchMode;
bool bFullScreen;
bool bFullScreenMulti;
bool bFullScreenExclusive;
bool bAllowFullScreenExclusive;
int iInternalResolution; // 0 = Auto (native), 1 = 1x (480x272), 2 = 2x, 3 = 3x, 4 = 4x and so on.
int iAnisotropyLevel; // 0 - 5, powers of 2: 0 = 1x = no aniso
int iMultiSampleLevel;
+3 -3
View File
@@ -413,13 +413,13 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
System_ApplyFullscreenState();
});
if (draw->GetDeviceCaps().fullScreenExclusiveSupported) {
CheckBox* fullscreenExclusive = graphicsSettings->Add(new CheckBox(&g_Config.bFullScreenExclusive, gr->T("Exclusive fullscreen")));
CheckBox* fullscreenExclusive = graphicsSettings->Add(new CheckBox(&g_Config.bAllowFullScreenExclusive, gr->T("Allow exclusive fullscreen")));
fullscreenExclusive->SetEnabledFunc([] {
return g_Config.bFullScreen && !g_Config.bFullScreenMulti;
});
fullscreenExclusive->OnClick.Add([this](UI::EventParams &e) {
TriggerRestartOrDo([this]() {
g_Config.bFullScreenExclusive = !g_Config.bFullScreenExclusive;
g_Config.bAllowFullScreenExclusive = !g_Config.bAllowFullScreenExclusive;
RecreateViews();
});
});
@@ -427,7 +427,7 @@ void GameSettingsScreen::CreateGraphicsSettings(UI::ViewGroup *graphicsSettings)
if (System_GetPropertyInt(SYSPROP_DISPLAY_COUNT) > 1) {
CheckBox *fullscreenMulti = graphicsSettings->Add(new CheckBox(&g_Config.bFullScreenMulti, gr->T("Use all displays")));
fullscreenMulti->SetEnabledFunc([] {
return g_Config.bFullScreen && !g_Config.bFullScreenExclusive;
return g_Config.bFullScreen && !g_Config.bAllowFullScreenExclusive;
});
fullscreenMulti->OnClick.Add([](UI::EventParams &e) {
System_ApplyFullscreenState();
+2 -2
View File
@@ -128,7 +128,7 @@ bool WindowsVulkanContext::Init(HINSTANCE hInst, HWND hWnd, std::string *error_m
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
#ifdef VK_EXT_full_screen_exclusive
vulkan_->SetFullScreenExclusiveMode(g_Config.bFullScreen && g_Config.bFullScreenExclusive
vulkan_->SetFullScreenExclusiveMode(g_Config.bFullScreen && g_Config.bAllowFullScreenExclusive
? VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT
: VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT);
#endif
@@ -178,7 +178,7 @@ void WindowsVulkanContext::Resize() {
VkPresentModeKHR presentMode = ConfigPresentModeToVulkan(draw_);
#ifdef VK_EXT_full_screen_exclusive
vulkan_->SetFullScreenExclusiveMode(g_Config.bFullScreen && g_Config.bFullScreenExclusive
vulkan_->SetFullScreenExclusiveMode(g_Config.bFullScreen && g_Config.bAllowFullScreenExclusive
? VK_FULL_SCREEN_EXCLUSIVE_ALLOWED_EXT
: VK_FULL_SCREEN_EXCLUSIVE_DISALLOWED_EXT);
#endif