diff options
| author | Stenzek <stenzek@users.noreply.github.com> | 2017-07-27 13:30:38 +1000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-27 13:30:38 +1000 |
| commit | a11bde7d167c65bb693e5138e47dd4586683c092 (patch) | |
| tree | 84f9128b0478b0b18e271e0426fceb499c9e72e3 /Source/Core/VideoBackends/OGL/Render.cpp | |
| parent | 10db1bcbca947a56e872ed4b6625d9d3de31b298 (diff) | |
| parent | 3ea9d86faa2544b8c1c235db9456f271baf42fec (diff) | |
Merge pull request #5679 from stenzek/no-host-state-in-uids
ShaderGen: Decouple host state from shader UIDs
Diffstat (limited to 'Source/Core/VideoBackends/OGL/Render.cpp')
| -rw-r--r-- | Source/Core/VideoBackends/OGL/Render.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/Source/Core/VideoBackends/OGL/Render.cpp b/Source/Core/VideoBackends/OGL/Render.cpp index 3282489369..4392da994c 100644 --- a/Source/Core/VideoBackends/OGL/Render.cpp +++ b/Source/Core/VideoBackends/OGL/Render.cpp @@ -43,6 +43,7 @@ #include "VideoCommon/PixelEngine.h" #include "VideoCommon/PixelShaderManager.h" #include "VideoCommon/RenderState.h" +#include "VideoCommon/ShaderGenCommon.h" #include "VideoCommon/VertexShaderManager.h" #include "VideoCommon/VideoBackendBase.h" #include "VideoCommon/VideoConfig.h" @@ -664,6 +665,9 @@ Renderer::Renderer() g_Config.VerifyValidity(); UpdateActiveConfig(); + // Since we modify the config here, we need to update the last host bits, it may have changed. + m_last_host_config_bits = ShaderHostConfig::GetCurrent().bits; + OSD::AddMessage(StringFromFormat("Video Info: %s, %s, %s", g_ogl_config.gl_vendor, g_ogl_config.gl_renderer, g_ogl_config.gl_version), 5000); @@ -1469,6 +1473,10 @@ void Renderer::SwapImpl(u32 xfbAddr, u32 fbWidth, u32 fbStride, u32 fbHeight, UpdateActiveConfig(); g_texture_cache->OnConfigChanged(g_ActiveConfig); + // Invalidate shader cache when the host config changes. + if (CheckForHostConfigChanges()) + ProgramShaderCache::Reload(); + // For testing zbuffer targets. // Renderer::SetZBufferRender(); // SaveTexture("tex.png", GL_TEXTURE_2D, s_FakeZTarget, |
