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.
master
ReinUsesLisp 2019-05-01 00:36:11 -03:00
parent fb420358a9
commit 4aa081b4e7
1 changed files with 4 additions and 1 deletions

View File

@ -475,7 +475,10 @@ void ShaderDiskCacheOpenGL::SaveUsage(const ShaderDiskCacheUsage& usage) {
ASSERT_MSG(it != transferable.end(), "Saving shader usage without storing raw previously"); ASSERT_MSG(it != transferable.end(), "Saving shader usage without storing raw previously");
auto& usages{it->second}; 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); usages.insert(usage);
FileUtil::IOFile file = AppendTransferableFile(); FileUtil::IOFile file = AppendTransferableFile();