diff --git a/common/Vulkan/ShaderCache.cpp b/common/Vulkan/ShaderCache.cpp index ffa32ae461..b48a7a1be1 100644 --- a/common/Vulkan/ShaderCache.cpp +++ b/common/Vulkan/ShaderCache.cpp @@ -214,7 +214,17 @@ namespace Vulkan { m_index_file = FileSystem::OpenCFile(index_filename.c_str(), "r+b"); if (!m_index_file) + { + // special case here: when there's a sharing violation (i.e. two instances running), + // we don't want to blow away the cache. so just continue without a cache. + if (errno == EACCES) + { + Console.WriteLn("Failed to open shader cache index with EACCES, are you running two instances?"); + return true; + } + return false; + } u32 file_version = 0; u32 data_version = 0;