anv: Handle state pool relocations using "wrapper" BOs
authorJason Ekstrand <jason@jlekstrand.net>
Fri, 25 Oct 2019 19:52:37 +0000 (14:52 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Thu, 31 Oct 2019 13:46:08 +0000 (13:46 +0000)
commit6f4fa8176952bef3973e65aa3f37bd077fc10895
tree1f2a137e73bbab847041b8e3db62b05510794178
parentb781c85c79944ccc0a6b0e49daae574672c6dd26
anv: Handle state pool relocations using "wrapper" BOs

Instead of depending on a mutable BO in the state pool for handling
growing state pools, add a concept of "wrapper" BOs which just wrap an
actual BO.  This way, the wrapper can exist once for all of time and we
can put it in relocation lists even if the actual BO it references gets
swapped out.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
src/intel/vulkan/anv_allocator.c
src/intel/vulkan/anv_batch_chain.c
src/intel/vulkan/anv_private.h