mesa/src/intel/vulkan/i915
Paulo Zanoni fda5163f34 anv/trtt: properly handle the lifetime of TR-TT batch BOs
We need to wait for the batches to complete before we return the BOs
to the pool. We were previously doing this completely synchronously,
which made the code unnecessarily wait. Now we have a timeline syncobj
that signals completion of the previous BOs, so sometimes we check
where we are in the timeline and then return the BOs that we know are
unused.

This, in addition to the previous patch that made us wait for the
other syncobjs through the execbuf ioctl instead of through the CPU,
makes TR-TT batches at least an order of magnitude faster. Still, I
don't think we'll notice any changes in games's FPS as they don't bind
sparse resources that often.

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/25512>
2023-11-17 17:58:29 +00:00
..
anv_batch_chain.c anv/trtt: properly handle the lifetime of TR-TT batch BOs 2023-11-17 17:58:29 +00:00
anv_batch_chain.h anv/trtt: add struct anv_trtt_batch_bo and pass it around 2023-11-17 17:58:29 +00:00
anv_device.c anv: allow protected GEM context creation 2023-11-14 05:55:54 +00:00
anv_device.h anv: create individual logical engines on i915 when possible 2023-09-07 06:39:06 +00:00
anv_gem.c anv: Move i915 handling of imported bos bo_flags 2023-09-13 13:10:59 -07:00
anv_gem.h anv: Move i915 handling of imported bos bo_flags 2023-09-13 13:10:59 -07:00
anv_kmd_backend.c anv/sparse: pass anv_sparse_submission to the backend functions 2023-11-17 17:58:28 +00:00
anv_queue.c anv: Create companion RCS engine 2023-09-07 06:39:06 +00:00
anv_queue.h anv: hide exec_flags selection inside the i915 backend 2023-07-13 17:12:26 +00:00