diff options
| author | Stenzek <stenzek@gmail.com> | 2019-04-21 12:37:22 +1000 |
|---|---|---|
| committer | Stenzek <stenzek@gmail.com> | 2019-04-21 14:28:14 +1000 |
| commit | 356ebdf5098a24a70c04392ef7bcad7b762affbe (patch) | |
| tree | 07f16b5113c2a50e2fe8bdda1258426c6560b9ef /Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp | |
| parent | 6553cf8bb1b7424c76f1a4165502d7e4250ccaa9 (diff) | |
OGL: Set shared context state up to match main context
Has a better chance of avoiding recompiling if so.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp index 8832c8e6f0..f3ed0424e7 100644 --- a/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp +++ b/Source/Core/VideoBackends/OGL/ProgramShaderCache.cpp @@ -852,6 +852,18 @@ bool SharedContextAsyncShaderCompiler::WorkerThreadInitWorkerThread(void* param) return false; s_is_shared_context = true; + + // Make the state match the main context to have a better chance of avoiding recompiles. + if (!context->IsGLES()) + glEnable(GL_PROGRAM_POINT_SIZE); + if (g_ActiveConfig.backend_info.bSupportsClipControl) + glClipControl(GL_LOWER_LEFT, GL_ZERO_TO_ONE); + if (g_ActiveConfig.backend_info.bSupportsDepthClamp) + { + glEnable(GL_CLIP_DISTANCE0); + glEnable(GL_CLIP_DISTANCE1); + glEnable(GL_DEPTH_CLAMP); + } if (g_ActiveConfig.backend_info.bSupportsPrimitiveRestart) GLUtil::EnablePrimitiveRestart(context); |
