From ba5b59dc595403fc06710aa2b8e24f485027448b Mon Sep 17 00:00:00 2001 From: kd-11 Date: Tue, 31 Jul 2018 12:05:13 +0300 Subject: [PATCH] gl: Do not create secondary context if async is disabled - Some third party programs fall apart when multiple contexts are created --- rpcs3/Emu/RSX/GL/GLGSRender.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/rpcs3/Emu/RSX/GL/GLGSRender.cpp b/rpcs3/Emu/RSX/GL/GLGSRender.cpp index ff0d680d34..0243e4d8f6 100644 --- a/rpcs3/Emu/RSX/GL/GLGSRender.cpp +++ b/rpcs3/Emu/RSX/GL/GLGSRender.cpp @@ -632,7 +632,11 @@ void GLGSRender::on_init_thread() // NOTES: All contexts have to be created before any is bound to a thread // This allows context sharing to work (both GLRCs passed to wglShareLists have to be idle or you get ERROR_BUSY) m_context = m_frame->make_context(); - m_decompiler_context = m_frame->make_context(); + + if (!g_cfg.video.disable_asynchronous_shader_compiler) + { + m_decompiler_context = m_frame->make_context(); + } // Bind primary context to main RSX thread m_frame->set_current(m_context);