Browse Source

gl_shader_disk_cache: Skip stored shader variants instead of asserting

Instead of asserting on already stored shader variants, silently skip them.
This shouldn't be happening but when a shader is invalidated and it is
not stored in the shader cache, this assert would hit and save that
shader anyways when the asserts are disabled.
nce_cpp
ReinUsesLisp 7 years ago
parent
commit
5e5eff2081
  1. 5
      src/video_core/renderer_opengl/gl_shader_disk_cache.cpp

5
src/video_core/renderer_opengl/gl_shader_disk_cache.cpp

@ -475,7 +475,10 @@ void ShaderDiskCacheOpenGL::SaveUsage(const ShaderDiskCacheUsage& usage) {
ASSERT_MSG(it != transferable.end(), "Saving shader usage without storing raw previously");
auto& usages{it->second};
ASSERT(usages.find(usage) == usages.end());
if (usages.find(usage) != usages.end()) {
// Skip this variant since the shader is already stored.
return;
}
usages.insert(usage);
FileUtil::IOFile file = AppendTransferableFile();

Loading…
Cancel
Save