Giovanni Mascellani (@giomasce) commented about include/vkd3d.h:
+ VKD3D_SHADER_CACHE_FLAGS_NO_SERIALIZE, + + VKD3D_FORCE_32_BIT_ENUM(VKD3D_SHADER_CACHE_FLAGS), +}; + +/** + * Huhu document me + * + * \since 1.10 + */ +struct vkd3d_shader_cache_desc +{ + /** Maximum amount of data the cache holds in memory. */ + uint32_t mem_size; + /** Maximum amount of data written to disk. Set to 0 for a memory-only cache. */ + uint32_t disk_size; Do these sizes count the sum of the sizes of stored keys and values, or the actual storage occupation, which in general I suppose might be larger (or even smaller, if compression is used)?
Also, I don't like too much the idea that setting a specific (degenerate, but in principle valid) value for a numeric parameter triggers a behavior change (like the multiple handles to the same object below). Could `in_memory` be a separate boolean parameter? -- https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/541#note_57171