diff options
Diffstat (limited to 'intern/memutil')
-rw-r--r-- | intern/memutil/MEM_CacheLimiter.h | 14 | ||||
-rw-r--r-- | intern/memutil/MEM_CacheLimiterC-Api.h | 4 | ||||
-rw-r--r-- | intern/memutil/intern/MEM_CacheLimiterC-Api.cpp | 5 |
3 files changed, 16 insertions, 7 deletions
diff --git a/intern/memutil/MEM_CacheLimiter.h b/intern/memutil/MEM_CacheLimiter.h index 4e776929731..dec4d0b1c30 100644 --- a/intern/memutil/MEM_CacheLimiter.h +++ b/intern/memutil/MEM_CacheLimiter.h @@ -161,6 +161,13 @@ public: delete handle; } + size_t get_memory_in_use() { + if (getDataSize) + return total_size(); + else + return MEM_get_memory_in_use(); + } + void enforce_limits() { size_t max = MEM_CacheLimiter_get_maximum(); size_t mem_in_use, cur_size; @@ -169,12 +176,7 @@ public: return; } - if (getDataSize) { - mem_in_use = total_size(); - } - else { - mem_in_use = MEM_get_memory_in_use(); - } + mem_in_use = get_memory_in_use(); if (mem_in_use <= max) { return; diff --git a/intern/memutil/MEM_CacheLimiterC-Api.h b/intern/memutil/MEM_CacheLimiterC-Api.h index c05c9d61ea2..7579dbdd4d1 100644 --- a/intern/memutil/MEM_CacheLimiterC-Api.h +++ b/intern/memutil/MEM_CacheLimiterC-Api.h @@ -49,7 +49,7 @@ typedef int (*MEM_CacheLimiter_ItemPriority_Func) (void*, int); #ifndef __MEM_CACHELIMITER_H__ void MEM_CacheLimiter_set_maximum(size_t m); -int MEM_CacheLimiter_get_maximum(void); +size_t MEM_CacheLimiter_get_maximum(void); #endif /* __MEM_CACHELIMITER_H__ */ /** @@ -145,6 +145,8 @@ void *MEM_CacheLimiter_get(MEM_CacheLimiterHandleC *handle); void MEM_CacheLimiter_ItemPriority_Func_set(MEM_CacheLimiterC *This, MEM_CacheLimiter_ItemPriority_Func item_priority_func); +size_t MEM_CacheLimiter_get_memory_in_use(MEM_CacheLimiterC *This); + #ifdef __cplusplus } #endif diff --git a/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp b/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp index f946c970711..0e11fbed4e7 100644 --- a/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp +++ b/intern/memutil/intern/MEM_CacheLimiterC-Api.cpp @@ -202,3 +202,8 @@ void MEM_CacheLimiter_ItemPriority_Func_set(MEM_CacheLimiterC *This, { cast(This)->get_cache()->set_item_priority_func(item_priority_func); } + +size_t MEM_CacheLimiter_get_memory_in_use(MEM_CacheLimiterC *This) +{ + return cast(This)->get_cache()->get_memory_in_use(); +} |