Giovanni Mascellani (@giomasce) commented about include/vkd3d.h:
+/**
- Properties of the opened shader cache.
- \since 1.12
- */
+struct vkd3d_shader_cache_info +{
- enum vkd3d_structure_type type;
- const void *next;
- /** Maximum amount of data the cache holds in memory. */
- uint32_t mem_size;
- /** Maximum amount of data written to disk. Ignored for VKD3D_SHADER_CACHE_MEMORY_ONLY. */
- uint32_t disk_size;
- /** Maximum number of cache entries. */
- uint32_t max_entries;
Does `max_entries` limit entries on disk or in memory?
In general, what is expected to happen when you reach the limits? I guess that on reaching the memory limit you want the cache to pick a bunch of entries, ensure they're already written to disk and then drop them from memory. But what happens then you reach the disk limit? Should you return an error or drop something anyway, on the basis that this is just a cache?