anv: Soft-pin state pools
authorScott D Phillips <scott.d.phillips@intel.com>
Thu, 1 Mar 2018 17:25:44 +0000 (09:25 -0800)
committerJason Ekstrand <jason.ekstrand@intel.com>
Fri, 1 Jun 2018 20:49:22 +0000 (13:49 -0700)
commite662bdb82084a9e8136aea1da10423786e103beb
treefdbf13fb1e3bdff93fca9d595cc8db3f379ce84c
parentf00fcfb7a2e137c7c0064b5e4167bb7fb49537a9
anv: Soft-pin state pools

The state_pools reserve virtual address space of the full
BLOCK_POOL_MEMFD_SIZE, but maintain the current behavior of
growing from the middle.

v2: - rename block_pool::offset to block_pool::start_address (Jason)
    - assign state pool start_address statically (Jason)
v3: - remove unnecessary bo_flags tampering for the dynamic pool (Jason)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
src/intel/vulkan/anv_allocator.c
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_private.h
src/intel/vulkan/tests/block_pool_no_free.c
src/intel/vulkan/tests/state_pool.c
src/intel/vulkan/tests/state_pool_free_list_only.c
src/intel/vulkan/tests/state_pool_no_free.c