From 7efdd1070bf526829d6f852deef9799a0cd2146f Mon Sep 17 00:00:00 2001 From: Stenzek Date: Wed, 7 Nov 2018 21:20:12 +1000 Subject: [PATCH] OGL: Fix crash when opening graphics window on another backend --- Source/Core/VideoBackends/OGL/Render.cpp | 1 + Source/Core/VideoBackends/OGL/Render.h | 1 + Source/Core/VideoBackends/OGL/main.cpp | 2 +- 3 files changed, 3 insertions(+), 1 deletion(-) diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 360d4c2dcc..120774b4f7 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -474,6 +474,7 @@ Renderer::Renderer(std::unique_ptr main_gl_context) g_Config.backend_info.bSupportsDynamicSamplerIndexing = GLExtensions::Supports("GL_ARB_gpu_shader5"); + g_ogl_config.bIsES = m_main_gl_context->IsGLES(); g_ogl_config.bSupportsGLSLCache = GLExtensions::Supports("GL_ARB_get_program_binary"); g_ogl_config.bSupportsGLPinnedMemory = GLExtensions::Supports("GL_AMD_pinned_memory"); g_ogl_config.bSupportsGLSync = GLExtensions::Supports("GL_ARB_sync"); diff --git a/Source/Core/VideoBackends/OGL/Render.h b/Source/Core/VideoBackends/OGL/Render.h index 5beb4ecd75..f0cc668563 100644 --- a/Source/Core/VideoBackends/OGL/Render.h +++ b/Source/Core/VideoBackends/OGL/Render.h @@ -48,6 +48,7 @@ enum class EsFbFetchType // ogl-only config, so not in VideoConfig.h struct VideoConfig { + bool bIsES; bool bSupportsGLSLCache; bool bSupportsGLPinnedMemory; bool bSupportsGLSync; diff --git a/Source/Core/VideoBackends/OGL/main.cpp b/Source/Core/VideoBackends/OGL/main.cpp index bc67b716cc..6e364113cc 100644 --- a/Source/Core/VideoBackends/OGL/main.cpp +++ b/Source/Core/VideoBackends/OGL/main.cpp @@ -68,7 +68,7 @@ std::string VideoBackend::GetName() const std::string VideoBackend::GetDisplayName() const { - if (g_renderer && static_cast(g_renderer.get())->IsGLES()) + if (g_ogl_config.bIsES) return _trans("OpenGL ES"); else return _trans("OpenGL");