mesa/src/intel/vulkan/i915
José Roberto de Souza a38a98c4cb intel/perf: Extend intel_perf_stream_set_metrics_id() to syncronize metrics id changes
Xe KMD added a uAPI to syncronze metrics id changes, so we can make
it wait for all previous workloads in exec_queue and all previous
metrics id changes to finish before start change it again.
This should make Vulkan queries more robust.

So this makes use of intel_bind_timeline to syncronize the metrics id
changes and xe_queue_get_syncobj_for_idle() to syncronize with
exec_queue.

As i915 and some versions of Xe KMD will not support it, this feature
will only be used then intel_bind_timeline parameter is not NULL and
timeline has a valid syncobj id.
At this patch level all callers will set it to NULL, next patch will
add and initialize timeline in ANV when supported by Xe KMD.

Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31283>
2024-11-05 19:25:53 +00:00
..
anv_batch_chain.c intel/perf: Extend intel_perf_stream_set_metrics_id() to syncronize metrics id changes 2024-11-05 19:25:53 +00:00
anv_batch_chain.h anv: make device initialization more asynchronous 2024-06-13 08:29:25 +00:00
anv_device.c intel: Move intel_define.h to i915/intel_define.h 2024-02-21 18:10: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: make device initialization more asynchronous 2024-06-13 08:29:25 +00:00
anv_queue.c anv: Fix I915_PARAM_HAS_CONTEXT_FREQ_HINT check 2024-07-18 18:26:38 +00:00
anv_queue.h anv: hide exec_flags selection inside the i915 backend 2023-07-13 17:12:26 +00:00