Module: Mesa Branch: vulkan Commit: 626559ed3717a205c1315040caa4308e77c70eb5 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=626559ed3717a205c1315040caa4308e77c70eb5
Author: Kristian Høgsberg Kristensen <kristian.h.kristen...@intel.com> Date: Fri Mar 4 12:25:23 2016 -0800 anv: Add anv_pipeline_cache_add_entry() This function will grow the cache to make room and then add the entry. --- src/intel/vulkan/anv_pipeline_cache.c | 23 +++++++++++++++-------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/src/intel/vulkan/anv_pipeline_cache.c b/src/intel/vulkan/anv_pipeline_cache.c index 0b26052..c85916f 100644 --- a/src/intel/vulkan/anv_pipeline_cache.c +++ b/src/intel/vulkan/anv_pipeline_cache.c @@ -195,6 +195,20 @@ anv_pipeline_cache_grow(struct anv_pipeline_cache *cache) return VK_SUCCESS; } +static void +anv_pipeline_cache_add_entry(struct anv_pipeline_cache *cache, + struct cache_entry *entry, uint32_t entry_offset) +{ + if (cache->kernel_count == cache->table_size / 2) + anv_pipeline_cache_grow(cache); + + /* Failing to grow that hash table isn't fatal, but may mean we don't + * have enough space to add this new kernel. Only add it if there's room. + */ + if (cache->kernel_count < cache->table_size / 2) + anv_pipeline_cache_set_entry(cache, entry, entry_offset); +} + uint32_t anv_pipeline_cache_upload_kernel(struct anv_pipeline_cache *cache, const unsigned char *sha1, @@ -224,14 +238,7 @@ anv_pipeline_cache_upload_kernel(struct anv_pipeline_cache *cache, assert(anv_pipeline_cache_search(cache, sha1, NULL) == NO_KERNEL); memcpy(entry->sha1, sha1, sizeof(entry->sha1)); - if (cache->kernel_count == cache->table_size / 2) - anv_pipeline_cache_grow(cache); - - /* Failing to grow that hash table isn't fatal, but may mean we don't - * have enough space to add this new kernel. Only add it if there's room. - */ - if (cache->kernel_count < cache->table_size / 2) - anv_pipeline_cache_set_entry(cache, entry, state.offset); + anv_pipeline_cache_add_entry(cache, entry, state.offset); } pthread_mutex_unlock(&cache->mutex); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-commit