[Mesa-dev] [PATCH 00/18] anv: Rework the allocation data structures

Jason Ekstrand jason at jlekstrand.net
Tue May 2 13:44:04 UTC 2017


Juan,

Were you planning to review the rest of the series?  Just wondering.

--Jason


On April 26, 2017 7:35:29 AM Jason Ekstrand <jason at jlekstrand.net> wrote:

> 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 <jasuarez at igalia.com>
>
> 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
>




More information about the mesa-dev mailing list