diff options
author | Tapani Pälli <[email protected]> | 2018-02-07 08:13:00 +0200 |
---|---|---|
committer | Tapani Pälli <[email protected]> | 2018-02-07 14:45:34 +0200 |
commit | ae00ef270233d7ba44e1a751333db16338b816f2 (patch) | |
tree | f75f0befdc3a7a6aa39a321dadd905188e7107a0 /src/util/disk_cache.h | |
parent | 6a651b6b77b68db71a027c826abccc843ace88ef (diff) |
disk cache: add callback functionality
v2: add disk_cache_has_key, disk_cache_put_key support
using blob cache (Nicolai, Jordan)
v3: rename set_cb as put_cb to match existing naming (Timothy)
Signed-off-by: Tapani Pälli <[email protected]>
Reviewed-by: Jordan Justen <[email protected]>
Reviewed-by: Emil Velikov <[email protected]>
Diffstat (limited to 'src/util/disk_cache.h')
-rw-r--r-- | src/util/disk_cache.h | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/src/util/disk_cache.h b/src/util/disk_cache.h index 488b297ead2..f84840fb5ca 100644 --- a/src/util/disk_cache.h +++ b/src/util/disk_cache.h @@ -50,6 +50,14 @@ typedef uint8_t cache_key[CACHE_KEY_SIZE]; #define CACHE_ITEM_TYPE_UNKNOWN 0x0 #define CACHE_ITEM_TYPE_GLSL 0x1 +typedef void +(*disk_cache_put_cb) (const void *key, signed long keySize, + const void *value, signed long valueSize); + +typedef signed long +(*disk_cache_get_cb) (const void *key, signed long keySize, + void *value, signed long valueSize); + struct cache_item_metadata { /** * The cache item type. This could be used to identify a GLSL cache item, @@ -207,6 +215,10 @@ void disk_cache_compute_key(struct disk_cache *cache, const void *data, size_t size, cache_key key); +void +disk_cache_set_callbacks(struct disk_cache *cache, disk_cache_put_cb put, + disk_cache_get_cb get); + #else static inline struct disk_cache * @@ -260,6 +272,13 @@ disk_cache_compute_key(struct disk_cache *cache, const void *data, size_t size, return; } +static inline void +disk_cache_set_callbacks(struct disk_cache *cache, disk_cache_put_cb put, + disk_cache_get_cb get) +{ + return; +} + #endif /* ENABLE_SHADER_CACHE */ #ifdef __cplusplus |