This absurdly long series does something fairly simple: It pulls the block_pool into the state_pool and makes the state pool capable of allocating states larger than the block size. Unfortunately, there was no good way to do it in less than 18 patches. :-(
Cc: Juan A. Suarez Romero <[email protected]> Jason Ekstrand (18): anv/allocator: Add no-valgrind versions of state_pool_alloc/free anv/allocator: Return a null state for zero-size allocations anv/allocator: Convert the state stream to pull from a state pool anv: Get rid of a bunch of uses of size_t anv/allocator: Remove the state_size field from fixed_size_state_pool anv/allocator: Roll fixed_size_state_pool into state_pool anv/allocator: Pull the userptr part of block_pool_grow into a helper anv/allocator: Drop the block_size field from block_pool anv/allocator: Add support for "back" allocations to state_pool anv: Allocate binding table blocks through the state pool anv/allocator: Get rid of the ability to free blocks anv/allocator: Embed the block_pool in the state_pool anv/allocator: Rework a comment anv/allocator: Add the capability to allocate blocks of different sizes anv/allocator: Add helpers for dealing with bucket sizes anv/allocator: Support pushing multiple blocks onto a free list at once anv/allocator: Allow state pools to allocate large states anv: Drop the instruction pool block size src/intel/vulkan/anv_allocator.c | 589 ++++++++++++--------- src/intel/vulkan/anv_batch_chain.c | 84 ++- src/intel/vulkan/anv_blorp.c | 4 +- src/intel/vulkan/anv_cmd_buffer.c | 8 +- src/intel/vulkan/anv_descriptor_set.c | 4 +- src/intel/vulkan/anv_device.c | 26 +- src/intel/vulkan/anv_gem.c | 2 +- src/intel/vulkan/anv_gem_stubs.c | 2 +- src/intel/vulkan/anv_private.h | 74 +-- src/intel/vulkan/gen8_cmd_buffer.c | 6 +- src/intel/vulkan/genX_blorp_exec.c | 2 +- src/intel/vulkan/genX_cmd_buffer.c | 15 +- src/intel/vulkan/tests/block_pool_no_free.c | 8 +- src/intel/vulkan/tests/state_pool.c | 5 +- src/intel/vulkan/tests/state_pool_free_list_only.c | 5 +- src/intel/vulkan/tests/state_pool_no_free.c | 5 +- 16 files changed, 461 insertions(+), 378 deletions(-) -- 2.5.0.400.gff86faf _______________________________________________ mesa-dev mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/mesa-dev
