anv/sparse: get ready to issue a single vm_bind ioctl per non-opaque bind
authorPaulo Zanoni <paulo.r.zanoni@intel.com>
Mon, 7 Aug 2023 22:07:37 +0000 (15:07 -0700)
committerMarge Bot <emma+marge@anholt.net>
Thu, 28 Sep 2023 06:16:40 +0000 (06:16 +0000)
commit2bdd01187d0ce2ea7dba41dea2d2e939ca6bd0f6
tree5a52467c5608deaca52d8768a214b21665f627f7
parent6368c1445f44e3c05b399d9e279d36a79a1a6bcc
anv/sparse: get ready to issue a single vm_bind ioctl per non-opaque bind

Game testing shows it's common for this operation to result in
multiple bind regions, so try to use a single ioctl when we can.

Actual testing reveals 136 shader-related tests fail when we actually
do this, so for now keep doing a single bind per ioctl while leaving a
very easy way to the desired behavior when we figure this out.

It should also be possible to go even higher-level and do this at the
anv_queue_submit_sparse_bind_locked() layer, but that should happen in
future commits.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/23045>
src/intel/vulkan/anv_sparse.c