diff options
| author | Jules Blok <jules.blok@gmail.com> | 2014-11-08 15:08:41 +0100 |
|---|---|---|
| committer | Jules Blok <jules.blok@gmail.com> | 2014-11-23 14:27:40 +0100 |
| commit | 9994ccb3422b88649eb160bf373d4d29b08a4768 (patch) | |
| tree | 19995375f1444968ecb6ce5ec0ed9457c5bcd23a /Source/Core/VideoBackends/OGL/PostProcessing.cpp | |
| parent | f3ddf37d074f80bf40b42995e91db98b4d599534 (diff) | |
PostProcessing: Invalidate shader when anaglyph stereoscopy is toggled.
Diffstat (limited to 'Source/Core/VideoBackends/OGL/PostProcessing.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/PostProcessing.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Source/Core/VideoBackends/OGL/PostProcessing.cpp b/Source/Core/VideoBackends/OGL/PostProcessing.cpp index 84088459ed..80bdf8eef4 100644 --- a/Source/Core/VideoBackends/OGL/PostProcessing.cpp +++ b/Source/Core/VideoBackends/OGL/PostProcessing.cpp @@ -38,6 +38,7 @@ static char s_vertex_shader[] = OpenGLPostProcessing::OpenGLPostProcessing() : m_initialized(false) + , m_anaglyph(false) { CreateHeader(); @@ -160,7 +161,8 @@ void OpenGLPostProcessing::BlitFromTexture(TargetRectangle src, TargetRectangle void OpenGLPostProcessing::ApplyShader() { // shader didn't changed - if (m_initialized && m_config.GetShader() == g_ActiveConfig.sPostProcessingShader) + if (m_initialized && m_config.GetShader() == g_ActiveConfig.sPostProcessingShader && + ((g_ActiveConfig.iStereoMode == STEREO_ANAGLYPH) == m_anaglyph)) return; m_shader.Destroy(); @@ -222,6 +224,7 @@ void OpenGLPostProcessing::ApplyShader() std::string glsl_name = "option_" + it.first; m_uniform_bindings[it.first] = glGetUniformLocation(m_shader.glprogid, glsl_name.c_str()); } + m_anaglyph = g_ActiveConfig.iStereoMode == STEREO_ANAGLYPH; m_initialized = true; } |
