Merge pull request #690 from Armada651/d3dfullscreen_fixes
Exclusive fullscreen fixes
This commit is contained in:
commit
83838a645f
|
@ -450,7 +450,7 @@ bool CFrame::RendererIsFullscreen()
|
|||
|
||||
if (Core::GetState() == Core::CORE_RUN || Core::GetState() == Core::CORE_PAUSE)
|
||||
{
|
||||
fullscreen = m_RenderFrame->IsFullScreen() && g_Config.bFullscreen;
|
||||
fullscreen = m_RenderFrame->IsFullScreen();
|
||||
}
|
||||
|
||||
#if defined(__APPLE__)
|
||||
|
@ -1189,7 +1189,7 @@ void CFrame::OnMouse(wxMouseEvent& event)
|
|||
|
||||
void CFrame::DoFullscreen(bool enable_fullscreen)
|
||||
{
|
||||
if (!g_Config.bBorderlessFullscreen &&
|
||||
if (!g_Config.BorderlessFullscreenEnabled() &&
|
||||
!SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain &&
|
||||
Core::GetState() == Core::CORE_PAUSE)
|
||||
{
|
||||
|
@ -1216,7 +1216,7 @@ void CFrame::DoFullscreen(bool enable_fullscreen)
|
|||
{
|
||||
m_RenderFrame->ShowFullScreen(true, wxFULLSCREEN_ALL);
|
||||
}
|
||||
else if (g_Config.bBorderlessFullscreen ||
|
||||
else if (g_Config.BorderlessFullscreenEnabled() ||
|
||||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
|
||||
{
|
||||
// Exiting exclusive fullscreen should be done from a Renderer callback.
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
const CGameListCtrl *CFrame::GetGameListCtrl() const
|
||||
|
|
|
@ -1104,7 +1104,7 @@ void CFrame::DoStop()
|
|||
|
||||
// If exclusive fullscreen is not enabled then we can pause the emulation
|
||||
// before we've exited fullscreen. If not then we need to exit fullscreen first.
|
||||
if (!RendererIsFullscreen() || g_Config.bBorderlessFullscreen ||
|
||||
if (!RendererIsFullscreen() || g_Config.BorderlessFullscreenEnabled() ||
|
||||
SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain)
|
||||
{
|
||||
Core::SetState(Core::CORE_PAUSE);
|
||||
|
|
|
@ -939,7 +939,7 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbHeight,const EFBRectangl
|
|||
SetWindowSize(fbWidth, fbHeight);
|
||||
|
||||
const bool windowResized = CheckForResize();
|
||||
const bool fullscreen = g_ActiveConfig.ExclusiveFullscreenEnabled() &&
|
||||
const bool fullscreen = g_ActiveConfig.bFullscreen &&
|
||||
!SConfig::GetInstance().m_LocalCoreStartupParameter.bRenderToMain;
|
||||
|
||||
bool fullscreen_changed = s_last_fullscreen_mode != fullscreen;
|
||||
|
|
|
@ -209,7 +209,7 @@ void VideoConfig::VerifyValidity()
|
|||
// TODO: Check iMaxAnisotropy value
|
||||
if (iAdapter < 0 || iAdapter > ((int)backend_info.Adapters.size() - 1)) iAdapter = 0;
|
||||
if (iMultisampleMode < 0 || iMultisampleMode >= (int)backend_info.AAModes.size()) iMultisampleMode = 0;
|
||||
if (!backend_info.bSupportsExclusiveFullscreen) bBorderlessFullscreen = true;
|
||||
if (!backend_info.bSupportsExclusiveFullscreen) bBorderlessFullscreen = false;
|
||||
}
|
||||
|
||||
void VideoConfig::Save(const std::string& ini_file)
|
||||
|
|
|
@ -152,7 +152,7 @@ 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 BorderlessFullscreenEnabled() const { return !backend_info.bSupportsExclusiveFullscreen || bBorderlessFullscreen; }
|
||||
};
|
||||
|
||||
extern VideoConfig g_Config;
|
||||
|
|
Loading…
Reference in New Issue