Skip to content

anv/xe: Bind queue per anv_queue

Matthew Brost requested to merge mbrost/mesa-bind-queues:bind_queues into main

What does this MR do and why?

Properly use bind queues in Xe to decouple sparse binds from immediate binds.

anv/xe: Bind queue per anv_queue

The Xe uAPI is designed to use bind queues such that binds without input
dependencies (sync objects) do not block on binds with input
dependencies.

For example:

- Bind A (sparse) is submitted with a list of input dependencies.
- Bind B (immediate) is subsequently submitted without a list of input
  dependencies.

If Bind A and Bind B share a single bind queue, Bind B will not be
scheduled until Bind A completes. Using individual bind queues decouples
Bind A and Bind B, allowing Bind B to make immediate progress.

This change creates a separate bind queue for each ANV queue, enabling
support for sparse bindings that may have input dependencies.

Signed-off-by: Matthew Brost <matthew.brost@intel.com>

Merge request reports

Loading