anv: Add allocator support for client-visible addresses
authorJason Ekstrand <jason@jlekstrand.net>
Mon, 2 Dec 2019 22:03:56 +0000 (16:03 -0600)
committerJason Ekstrand <jason@jlekstrand.net>
Thu, 5 Dec 2019 16:59:10 +0000 (10:59 -0600)
commita8e59b37081f169a83918de149dab7c31812577c
tree3cd2e0e58aaa4d36b1195af9cb07f232096a0db6
parent96e3328ac2dc58fb86a0da4ec27a40aa6d41b022
anv: Add allocator support for client-visible addresses

When a BO is flagged as having a client visible address, we put it in
its own heap.  We also support the client explicitly specifying an
address in said heap.  If an address collision happens, we return false
from anv_vma_alloc which turns into a VK_ERROR_OUT_OF_DEVICE_MEMORY.

Reviewed-by: Ivan Briano <ivan.briano@intel.com>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_allocator.c
src/intel/vulkan/anv_android.c
src/intel/vulkan/anv_device.c
src/intel/vulkan/anv_intel.c
src/intel/vulkan/anv_private.h
src/intel/vulkan/anv_queue.c