summaryrefslogtreecommitdiff
path: root/Source/Core/VideoBackends/OGL/Render.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
-rw-r--r--Source/Core/VideoBackends/OGL/Render.cpp27
1 files changed, 16 insertions, 11 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp
index 120774b4f7..8b35e59bbb 100644
--- a/Source/Core/VideoBackends/OGL/Render.cpp
+++ b/Source/Core/VideoBackends/OGL/Render.cpp
@@ -811,19 +811,11 @@ bool Renderer::IsHeadless() const
return m_main_gl_context->IsHeadless();
}
-void Renderer::Shutdown()
+bool Renderer::Initialize()
{
- ::Renderer::Shutdown();
- g_framebuffer_manager.reset();
+ if (!::Renderer::Initialize())
+ return false;
- UpdateActiveConfig();
-
- s_raster_font.reset();
- m_post_processor.reset();
-}
-
-void Renderer::Init()
-{
// Initialize the FramebufferManager
g_framebuffer_manager = std::make_unique<FramebufferManager>(
m_target_width, m_target_height, s_MSAASamples, BoundingBox::NeedsStencilBuffer());
@@ -832,6 +824,19 @@ void Renderer::Init()
m_post_processor = std::make_unique<OpenGLPostProcessing>();
s_raster_font = std::make_unique<RasterFont>();
+
+ return true;
+}
+
+void Renderer::Shutdown()
+{
+ ::Renderer::Shutdown();
+ g_framebuffer_manager.reset();
+
+ UpdateActiveConfig();
+
+ s_raster_font.reset();
+ m_post_processor.reset();
}
std::unique_ptr<AbstractTexture> Renderer::CreateTexture(const TextureConfig& config)