Skip to content
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

Merged
merged 3 commits into from Jul 30, 2014
Merged

Conversation

CrossVR
Copy link
Contributor

@CrossVR CrossVR commented Jul 28, 2014

Fixes ticket 7516 and a few other bugs.

Bugs fixed:

  • "Use Fullscreen" ignoring the borderless fullscreen setting.
  • Borderless fullscreen setting being reset by the video config dialog for backends that don't support it.
  • Window size being forgotten when exiting the game while in borderless fullscreen.

@CrossVR
Copy link
Contributor Author

CrossVR commented Jul 28, 2014

According to @JMC47 this fixes the remaining issues he found, thus this PR is ready for review.

@JMC47
Copy link
Contributor

JMC47 commented Jul 28, 2014

This fixes a few critical bugs with coming out of fullscreen and using fullscreen.

@lioncash
Copy link
Member

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.

… 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.
@CrossVR
Copy link
Contributor Author

CrossVR commented Jul 30, 2014

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.

@CrossVR
Copy link
Contributor Author

CrossVR commented Jul 30, 2014

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.

@lioncash
Copy link
Member

Gah, accidentally commented on a commit and not the PR. Looks good to me.

delroth added a commit that referenced this pull request Jul 30, 2014
@delroth delroth merged commit 83838a6 into dolphin-emu:master Jul 30, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
4 participants