78#define dt_cache_get(A, B, C) dt_cache_get_with_caller(A, B, C, __FILE__, __LINE__)
83#define dt_cache_release(A, B) dt_cache_release_with_caller(A, B, __FILE__, __LINE__)
100 int (*
process)(
const uint32_t
key,
const void *data,
void *user_data),
void process(struct dt_iop_module_t *self, dt_dev_pixelpipe_iop_t *piece, const void *const ivoid, void *const ovoid, const dt_iop_roi_t *const roi_in, const dt_iop_roi_t *const roi_out)
Definition ashift.c:3088
int32_t dt_cache_remove(dt_cache_t *cache, const uint32_t key)
Definition common/cache.c:255
int32_t dt_cache_contains(dt_cache_t *cache, const uint32_t key)
Definition common/cache.c:73
static void dt_cache_set_cleanup_callback(dt_cache_t *cache, dt_cache_cleanup_t cleanup_cb, void *cleanup_data)
Definition cache.h:70
void dt_cache_gc(dt_cache_t *cache, const float fill_ratio)
Definition common/cache.c:315
void dt_cache_release_with_caller(dt_cache_t *cache, dt_cache_entry_t *entry, const char *file, int line)
Definition common/cache.c:356
dt_cache_entry_t * dt_cache_testget(dt_cache_t *cache, const uint32_t key, char mode)
Definition common/cache.c:107
void dt_cache_init(dt_cache_t *cache, size_t entry_size, size_t cost_quota)
Definition common/cache.c:32
dt_cache_entry_t * dt_cache_get_with_caller(dt_cache_t *cache, const uint32_t key, char mode, const char *file, int line)
Definition common/cache.c:148
typedef void((*dt_cache_allocate_t)(void *userdata, dt_cache_entry_t *entry))
static void dt_cache_set_allocate_callback(dt_cache_t *cache, dt_cache_allocate_t allocate_cb, void *allocate_data)
Definition cache.h:64
int dt_cache_for_all(dt_cache_t *cache, int(*process)(const uint32_t key, const void *data, void *user_data), void *user_data)
Definition common/cache.c:81
void dt_cache_cleanup(dt_cache_t *cache)
Definition common/cache.c:49
#define dt_pthread_rwlock_t
Definition dtpthread.h:336
uint32_t key
Definition cache.h:34
GList * link
Definition cache.h:31
size_t data_size
Definition cache.h:29
dt_pthread_rwlock_t lock
Definition cache.h:32
int _lock_demoting
Definition cache.h:33
void * data
Definition cache.h:28
size_t cost
Definition cache.h:30
size_t cost
Definition cache.h:46
GList * lru
Definition cache.h:50
size_t cost_quota
Definition cache.h:47
void * allocate_data
Definition cache.h:55
GHashTable * hashtable
Definition cache.h:49
dt_cache_allocate_t allocate
Definition cache.h:53
dt_pthread_mutex_t lock
Definition cache.h:43
size_t entry_size
Definition cache.h:45
dt_cache_allocate_t cleanup
Definition cache.h:54
void * cleanup_data
Definition cache.h:56