mesa/src/intel/vulkan_hasvk
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
..
layers
tests
anv_allocator.c
anv_android.c
anv_android.h
anv_android_stubs.c
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_blorp.c
anv_bo_sync.c
anv_cmd_buffer.c
anv_descriptor_set.c
anv_device.c
anv_formats.c
anv_gem.c
anv_gem_stubs.c
anv_genX.h
anv_image.c
anv_measure.c
anv_measure.h
anv_nir.h
anv_nir_apply_pipeline_layout.c
anv_nir_compute_push_layout.c
anv_nir_lower_multiview.c
anv_nir_lower_ubo_loads.c
anv_nir_lower_ycbcr_textures.c
anv_perf.c intel/perf: Extend intel_perf_stream_set_metrics_id() to syncronize metrics id changes 2024-11-05 19:25:53 +00:00
anv_pipeline.c
anv_pipeline_cache.c
anv_private.h
anv_queue.c
anv_util.c
anv_utrace.c
anv_wsi.c
genX_blorp_exec.c
genX_cmd_buffer.c
genX_gpu_memcpy.c
genX_pipeline.c
genX_query.c
genX_state.c
gfx7_cmd_buffer.c
gfx8_cmd_buffer.c
meson.build