anv: Delay allocation of relocation lists
authorJason Ekstrand <jason@jlekstrand.net>
Mon, 28 Oct 2019 15:22:47 +0000 (10:22 -0500)
committerJason Ekstrand <jason@jlekstrand.net>
Tue, 29 Oct 2019 20:27:52 +0000 (20:27 +0000)
commita3153162a9b9a96b2f3b03b5016370366de203f0
tree7808aac7dd3c315ec5693c13ab35565045070b77
parent4fe23176017e27da17491e2ad1a4f60f92eba998
anv: Delay allocation of relocation lists

The old relocation list code always allocated 256 relocations and a hash
set up-front without knowing whether or not we really need them.  In
particular, in the softpin case, this is two fairly large allocations
that we don't need to be making.  Also, for pipeline objects on haswell
where we don't have softpin, we don't need relocations unless scratch is
used so this is extra data per-pipeline.  Instead, we should do it
on-demand.  This shaves 3.5% off of a cpu-limited example running with
the Dawn WebGPU implementation.

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