diff options
| author | spycrab <spycrab@users.noreply.github.com> | 2019-03-07 01:54:54 +0100 |
|---|---|---|
| committer | spycrab <spycrab@users.noreply.github.com> | 2019-03-07 01:59:46 +0100 |
| commit | 9ca394bbea91e7e6078e7f6433039acfab30b386 (patch) | |
| tree | 246e55cabb3b4b4306507a441fc799e1df094e3c /Source/Core/VideoCommon/RenderBase.cpp | |
| parent | 668b7eec8f9d2d9a9937c98a04b42b8e1373e591 (diff) | |
VideoCommon/RenderBase: Don't destroy pipelines that are in use
Diffstat (limited to 'Source/Core/VideoCommon/RenderBase.cpp')
| -rw-r--r-- | Source/Core/VideoCommon/RenderBase.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Source/Core/VideoCommon/RenderBase.cpp b/Source/Core/VideoCommon/RenderBase.cpp index 132ce4bd6c..611eca29e6 100644 --- a/Source/Core/VideoCommon/RenderBase.cpp +++ b/Source/Core/VideoCommon/RenderBase.cpp @@ -398,7 +398,12 @@ void Renderer::CheckForConfigChanges() // Check for post-processing shader changes. Done up here as it doesn't affect anything outside // the post-processor. Note that options are applied every frame, so no need to check those. if (m_post_processor->GetConfig()->GetShader() != g_ActiveConfig.sPostProcessingShader) + { + // The existing shader must not be in use when it's destroyed + WaitForGPUIdle(); + m_post_processor->RecompileShader(); + } // Determine which (if any) settings have changed. ShaderHostConfig new_host_config = ShaderHostConfig::GetCurrent(); |
