i965: Rename brw_upload_item_data to brw_alloc_item_data
authorTopi Pohjolainen <topi.pohjolainen@intel.com>
Thu, 25 Jun 2015 11:31:03 +0000 (14:31 +0300)
committerTopi Pohjolainen <topi.pohjolainen@intel.com>
Thu, 13 Aug 2015 10:37:49 +0000 (13:37 +0300)
and simplify the interface to take directly the size and to return
the offset. The routine does nothing more than allocate, it doesn't
upload anything.

Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com>
src/mesa/drivers/dri/i965/brw_state_cache.c

index 693441c6f490ff26a080b88c7641a154cf7b96b1..50c02432e81ace91c61f1e8ae7a2a37e778a52a0 100644 (file)
@@ -248,18 +248,17 @@ brw_try_upload_using_copy(struct brw_cache *cache,
    return false;
 }
 
-static void
-brw_upload_item_data(struct brw_cache *cache,
-                    struct brw_cache_item *item,
-                    const void *data)
+static uint32_t
+brw_alloc_item_data(struct brw_cache *cache, uint32_t size)
 {
+   uint32_t offset;
    struct brw_context *brw = cache->brw;
 
    /* Allocate space in the cache BO for our new program. */
-   if (cache->next_offset + item->size > cache->bo->size) {
+   if (cache->next_offset + size > cache->bo->size) {
       uint32_t new_size = cache->bo->size * 2;
 
-      while (cache->next_offset + item->size > new_size)
+      while (cache->next_offset + size > new_size)
         new_size *= 2;
 
       brw_cache_new_bo(cache, new_size);
@@ -273,10 +272,12 @@ brw_upload_item_data(struct brw_cache *cache,
       brw_cache_new_bo(cache, cache->bo->size);
    }
 
-   item->offset = cache->next_offset;
+   offset = cache->next_offset;
 
    /* Programs are always 64-byte aligned, so set up the next one now */
-   cache->next_offset = ALIGN(item->offset + item->size, 64);
+   cache->next_offset = ALIGN(offset + size, 64);
+
+   return offset;
 }
 
 void
@@ -312,7 +313,7 @@ brw_upload_cache(struct brw_cache *cache,
     * compile to the thing in our backend.
     */
    if (!brw_try_upload_using_copy(cache, item, data, aux)) {
-      brw_upload_item_data(cache, item, data);
+      item->offset = brw_alloc_item_data(cache, data_size);
    }
 
    /* Set up the memory containing the key and aux_data */