diff options
| author | 2019-05-09 13:22:42 -0400 | |
|---|---|---|
| committer | 2019-05-09 13:22:42 -0400 | |
| commit | f69d3a63517b584f106870e7c013abdbf452bf8b (patch) | |
| tree | 71424723fc1bf49db4026c304aa8b5f5c740161d | |
| parent | Merge pull request #2445 from FearlessTobi/port-4749 (diff) | |
| parent | gl_shader_disk_cache: Skip stored shader variants instead of asserting (diff) | |
| download | yuzu-f69d3a63517b584f106870e7c013abdbf452bf8b.tar.gz yuzu-f69d3a63517b584f106870e7c013abdbf452bf8b.tar.xz yuzu-f69d3a63517b584f106870e7c013abdbf452bf8b.zip | |
Merge pull request #2443 from ReinUsesLisp/skip-repeated-variants
gl_shader_disk_cache: Skip stored shader variants instead of asserting
| -rw-r--r-- | src/video_core/renderer_opengl/gl_shader_disk_cache.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp index ed7afc4a0..254c0d499 100644 --- a/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp +++ b/src/video_core/renderer_opengl/gl_shader_disk_cache.cpp | |||
| @@ -475,7 +475,10 @@ void ShaderDiskCacheOpenGL::SaveUsage(const ShaderDiskCacheUsage& usage) { | |||
| 475 | ASSERT_MSG(it != transferable.end(), "Saving shader usage without storing raw previously"); | 475 | ASSERT_MSG(it != transferable.end(), "Saving shader usage without storing raw previously"); |
| 476 | 476 | ||
| 477 | auto& usages{it->second}; | 477 | auto& usages{it->second}; |
| 478 | ASSERT(usages.find(usage) == usages.end()); | 478 | if (usages.find(usage) != usages.end()) { |
| 479 | // Skip this variant since the shader is already stored. | ||
| 480 | return; | ||
| 481 | } | ||
| 479 | usages.insert(usage); | 482 | usages.insert(usage); |
| 480 | 483 | ||
| 481 | FileUtil::IOFile file = AppendTransferableFile(); | 484 | FileUtil::IOFile file = AppendTransferableFile(); |