summaryrefslogtreecommitdiff
path: root/Source/Core
diff options
context:
space:
mode:
authorStenzek <stenzek@gmail.com>2019-03-09 23:31:40 +1000
committerStenzek <stenzek@gmail.com>2019-03-29 19:52:38 +1000
commit2a4bca8b4ab4a698ae034a8ac8ffa3b10c660601 (patch)
tree9ebf52744a4042b68343dad813eec56095ed9702 /Source/Core
parent1151a1238f805d5d0d6b149d12344beb661ba853 (diff)
VideoBackends: Verify validity before doing full renderer init
Prevents attempting to create invalid MSAA configurations, for example.
Diffstat (limited to 'Source/Core')
-rw-r--r--Source/Core/VideoBackends/OGL/main.cpp7
-rw-r--r--Source/Core/VideoCommon/VideoBackendBase.cpp1
2 files changed, 5 insertions, 3 deletions
diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp
index 22dba1a21f..3ca016556b 100644
--- a/Source/Core/VideoBackends/OGL/main.cpp
+++ b/Source/Core/VideoBackends/OGL/main.cpp
@@ -135,6 +135,8 @@ bool VideoBackend::InitializeGLExtensions(GLContext* context)
bool VideoBackend::FillBackendInfo()
{
+ InitBackendInfo();
+
// check for the max vertex attributes
GLint numvertexattribs = 0;
glGetIntegerv(GL_MAX_VERTEX_ATTRIBS, &numvertexattribs);
@@ -162,10 +164,8 @@ bool VideoBackend::FillBackendInfo()
bool VideoBackend::Initialize(const WindowSystemInfo& wsi)
{
- InitializeShared();
-
std::unique_ptr<GLContext> main_gl_context =
- GLContext::Create(wsi, g_ActiveConfig.stereo_mode == StereoMode::QuadBuffer, true, false,
+ GLContext::Create(wsi, g_Config.stereo_mode == StereoMode::QuadBuffer, true, false,
Config::Get(Config::GFX_PREFER_GLES));
if (!main_gl_context)
return false;
@@ -173,6 +173,7 @@ bool VideoBackend::Initialize(const WindowSystemInfo& wsi)
if (!InitializeGLExtensions(main_gl_context.get()) || !FillBackendInfo())
return false;
+ InitializeShared();
g_renderer = std::make_unique<Renderer>(std::move(main_gl_context), wsi.render_surface_scale);
ProgramShaderCache::Init();
g_vertex_manager = std::make_unique<VertexManager>();
diff --git a/Source/Core/VideoCommon/VideoBackendBase.cpp b/Source/Core/VideoCommon/VideoBackendBase.cpp
index 268a3b70b7..f310f68920 100644
--- a/Source/Core/VideoCommon/VideoBackendBase.cpp
+++ b/Source/Core/VideoCommon/VideoBackendBase.cpp
@@ -294,6 +294,7 @@ void VideoBackendBase::InitializeShared()
GeometryShaderManager::Init();
PixelShaderManager::Init();
+ g_Config.VerifyValidity();
UpdateActiveConfig();
}