diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 48a23ea3e2..3465bc85da 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -556,9 +556,6 @@ Renderer::Renderer() bSuccess = false; } - if (g_Config.iStereoMode > 0 && !g_Config.backend_info.bSupportsGeometryShaders) - OSD::AddMessage("Stereoscopic 3D isn't supported by your GPU, support for OpenGL 3.2 is required.", 10000); - if (!bSuccess) { // Not all needed extensions are supported, so we have to stop here. diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index c4c966458e..8642d78cc1 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -154,7 +154,8 @@ static void InitBackendInfo() void VideoBackend::ShowConfig(void *_hParent) { - InitBackendInfo(); + if (!s_BackendInitialized) + InitBackendInfo(); Host_ShowVideoConfig(_hParent, GetDisplayName(), "gfx_opengl"); } diff --git a/Source/Core/VideoCommon/VideoConfig.cpp b/Source/Core/VideoCommon/VideoConfig.cpp index d0f02dd327..d4cff3ec42 100644 --- a/Source/Core/VideoCommon/VideoConfig.cpp +++ b/Source/Core/VideoCommon/VideoConfig.cpp @@ -118,6 +118,8 @@ void VideoConfig::Load(const std::string& ini_file) // triplicated for each video backend. if (bEnableShaderDebugging) OSD::AddMessage("Warning: Shader Debugging is enabled, performance will suffer heavily", 15000); + + VerifyValidity(); } void VideoConfig::GameIniLoad() @@ -214,7 +216,12 @@ 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.bSupportsGeometryShaders) iStereoMode = 0; + + if (iStereoMode > 0 && !backend_info.bSupportsGeometryShaders) + { + OSD::AddMessage("Stereoscopic 3D isn't supported by your GPU, support for OpenGL 3.2 is required.", 10000); + iStereoMode = 0; + } } void VideoConfig::Save(const std::string& ini_file)