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

Reply via email to