Mesa (master): anv/descriptor_set: Put the whole state in the state free list

Jason Ekstrand jekstrand at kemper.freedesktop.org
Thu Nov 17 01:08:28 UTC 2016


Module: Mesa
Branch: master
Commit: 2e2160969e6e47ae9cd73385f9901d3bf1a92856
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=2e2160969e6e47ae9cd73385f9901d3bf1a92856

Author: Jason Ekstrand <jason.ekstrand at intel.com>
Date:   Thu Nov 10 16:27:47 2016 -0800

anv/descriptor_set: Put the whole state in the state free list

We're not really saving much by just putting the offset in there.

Reviewed-by: Iago Toral Quiroga <itoral at igalia.com>

---

 src/intel/vulkan/anv_descriptor_set.c | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/src/intel/vulkan/anv_descriptor_set.c b/src/intel/vulkan/anv_descriptor_set.c
index 88df545..97108fa 100644
--- a/src/intel/vulkan/anv_descriptor_set.c
+++ b/src/intel/vulkan/anv_descriptor_set.c
@@ -393,7 +393,7 @@ layout_size(const struct anv_descriptor_set_layout *layout)
 
 struct surface_state_free_list_entry {
    void *next;
-   uint32_t offset;
+   struct anv_state state;
 };
 
 VkResult
@@ -463,10 +463,9 @@ anv_descriptor_set_create(struct anv_device *device,
       struct anv_state state;
 
       if (entry) {
-         state.map = entry;
-         state.offset = entry->offset;
-         state.alloc_size = 64;
+         state = entry->state;
          pool->surface_state_free_list = entry->next;
+         assert(state.alloc_size == 64);
       } else {
          state = anv_state_stream_alloc(&pool->surface_state_stream, 64, 64);
       }
@@ -489,7 +488,7 @@ anv_descriptor_set_destroy(struct anv_device *device,
       struct surface_state_free_list_entry *entry =
          set->buffer_views[b].surface_state.map;
       entry->next = pool->surface_state_free_list;
-      entry->offset = set->buffer_views[b].surface_state.offset;
+      entry->state = set->buffer_views[b].surface_state;
       pool->surface_state_free_list = entry;
    }
 




More information about the mesa-commit mailing list