Giovanni Mascellani (@giomasce) commented about libs/vkd3d/cache.c:
+ cache->desc.disk_size = 0; /* Convert to mem only. */ + vkd3d_free(filename); + return; + } + } + + sprintf(filename, "%s.idx", cache->name); + indices = fopen(filename, "rb"); + if (!indices) + { + /* This happens when the cache files did not exist. Keep the opened + * values file, we'll use it later. */ + WARN("Index file %s not found.\n", filename); + vkd3d_free(filename); + return; + } Given that you dump and read the whole database each time you might as well use a single file, which should decrease the corruption probability (for example because two processes read/write concurrently to the same database).
-- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/541#note_57181