diff options
| author | Stenzek <stenzek@gmail.com> | 2019-03-09 23:31:40 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-03-29 19:52:38 +1000 |
| commit | 2a4bca8b4ab4a698ae034a8ac8ffa3b10c660601 (patch) | |
| tree | 9ebf52744a4042b68343dad813eec56095ed9702 /Source/Core | |
| parent | 1151a1238f805d5d0d6b149d12344beb661ba853 (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.cpp | 7 | ||||
| -rw-r--r-- | Source/Core/VideoCommon/VideoBackendBase.cpp | 1 |
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(); } |
