New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Exclusive fullscreen fixes #690
Conversation
According to @JMC47 this fixes the remaining issues he found, thus this PR is ready for review. |
This fixes a few critical bugs with coming out of fullscreen and using fullscreen. |
Looks good to me. |
@@ -152,7 +152,8 @@ struct VideoConfig final | |||
bool VirtualXFBEnabled() const { return bUseXFB && !bUseRealXFB; } | |||
bool EFBCopiesToTextureEnabled() const { return bEFBCopyEnable && bCopyEFBToTexture; } | |||
bool EFBCopiesToRamEnabled() const { return bEFBCopyEnable && !bCopyEFBToTexture; } | |||
bool ExclusiveFullscreenEnabled() const { return bFullscreen && !bBorderlessFullscreen; } | |||
bool ExclusiveFullscreenEnabled() const { return bFullscreen && !BorderlessFullscreenEnabled(); } | |||
bool BorderlessFullscreenEnabled() const { return !backend_info.bSupportsExclusiveFullscreen || bBorderlessFullscreen; } |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
… fullscreen in the video config. Fixes a bug where "Use Fullscreen" would initialize into exclusive fullscreen regardless of the borderless fullscreen setting. Also relieves the need for the video renderer to check the borderless fullscreen setting each time.
Checking this flag could sometimes incorrectly have the UI assume fullscreen is already off when we're still exiting.
…es not support exclusive fullscreen. This was expected to be handled by VerifyValidity(), but that only verifies the validity of the INI files.
PR has been rewritten to fix issues in ticket 7525. These issues should be fixed, but the reporter says otherwise so I'll do further testing. |
The issue has been confirmed fixed, this PR is ready for review. |
@@ -1244,7 +1244,8 @@ void CFrame::DoFullscreen(bool enable_fullscreen) | |||
m_RenderFrame->Raise(); | |||
} | |||
|
|||
g_Config.bFullscreen = enable_fullscreen; | |||
g_Config.bFullscreen = (g_Config.BorderlessFullscreenEnabled() || | |||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain) ? false : enable_fullscreen; |
This comment was marked as off-topic.
This comment was marked as off-topic.
Sorry, something went wrong.
Gah, accidentally commented on a commit and not the PR. Looks good to me. |
Fixes ticket 7516 and a few other bugs.
Bugs fixed: