Module: Mesa Branch: master Commit: 08101aaaace22481e390d8f048e38908f0fbabf5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=08101aaaace22481e390d8f048e38908f0fbabf5
Author: Timothy Arceri <[email protected]> Date: Sat Mar 6 14:49:31 2021 +1100 util/disk_cache: add cache item headers to single file cache entries I mistakenly left these out of the original single file cache implementation. Reviewed-By: Mike Blumenkrantz <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9443> --- src/util/disk_cache_os.c | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/src/util/disk_cache_os.c b/src/util/disk_cache_os.c index b0ebbe6d07c..895c9a23208 100644 --- a/src/util/disk_cache_os.c +++ b/src/util/disk_cache_os.c @@ -792,14 +792,32 @@ void * disk_cache_load_item_foz(struct disk_cache *cache, const cache_key key, size_t *size) { - return foz_read_entry(&cache->foz_db, key, size); + size_t cache_tem_size = 0; + void *cache_item = foz_read_entry(&cache->foz_db, key, &cache_tem_size); + if (!cache_item) + return NULL; + + uint8_t *uncompressed_data = + parse_and_validate_cache_item(cache, cache_item, cache_tem_size, size); + free(cache_item); + + return uncompressed_data; } bool disk_cache_write_item_to_disk_foz(struct disk_cache_put_job *dc_job) { - return foz_write_entry(&dc_job->cache->foz_db, dc_job->key, dc_job->data, - dc_job->size); + struct blob cache_blob; + blob_init(&cache_blob); + + if (!create_cache_item_header_and_blob(dc_job, &cache_blob)) + return false; + + bool r = foz_write_entry(&dc_job->cache->foz_db, dc_job->key, + cache_blob.data, cache_blob.size); + + blob_finish(&cache_blob); + return r; } bool _______________________________________________ mesa-commit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-commit
