mesa/src/util
Lionel Landwerlin 3984875792 u_trace: extend tracepoint end_of_pipe bit into flags
We ran into an issue with Intel drivers where it became tricky to tell
whether a timestamp must be recorded with a special end-of-pipe
compute instruction or something else.

We initially tried to deal with that internally by checking some state
in the command buffers but turns out it doesn't work.

This change adds a flag field to the tracepoint to have that
information there and the flags are passed to the record_ts vfunc.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29438>
2024-05-30 06:38:04 +00:00
..
blake3 util: Blake3 - Identify arm64ec as aarch64 instead of x64 2023-07-13 15:30:39 +00:00
format util/format: correct a typo 2024-05-28 15:04:14 +00:00
perf u_trace: extend tracepoint end_of_pipe bit into flags 2024-05-30 06:38:04 +00:00
sha1 util: mark externally-unused functions as static 2023-05-23 20:32:19 +00:00
tests util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
tools util/tools: add the tool that generates perfect hash functions for GLenums 2022-12-18 14:35:59 -05:00
u_gralloc u_gralloc/fallback: Extract modifier from QCOM native_handle 2024-05-17 15:03:53 +00:00
.editorconfig util/rb_tree: Fix editorconfig 2023-11-02 21:03:46 +00:00
00-mesa-defaults.conf anv: implement VK_EXT_image_compression_control 2024-04-16 05:56:12 +00:00
00-radv-defaults.conf radv: Use zerovram for Enshrouded. 2024-05-12 09:13:01 +00:00
anon_file.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
anon_file.h util: Add os_create_anonymous_file support on win32 2022-08-12 16:34:32 +00:00
bigmath.h
bitpack_helpers.h util: Add util_bitpack_[su]fixed_clamp helpers 2022-08-30 04:28:34 +00:00
bitscan.c
bitscan.h st/mesa: optimize st_update_arrays using lots of C++ template variants 2024-02-21 18:36:44 +00:00
bitset.h util: shift the mask in BITSET_TEST_RANGE_INSIDE_WORD to be relative to b 2024-05-14 10:13:15 +00:00
blend.h util/blend: Add helpers for normalizing inverts 2023-07-13 21:03:32 +00:00
blob.c util: Add align_uintptr and use it treewide to replace ALIGN that works on size_t and uintptr_t 2024-01-05 21:54:35 +00:00
blob.h util/blob: fix trivial typo 2023-12-06 07:22:02 +00:00
box.h util: import pipe_box and its helpers 2024-04-22 01:42:52 +00:00
build_id.c
build_id.h
cnd_monotonic.h
compiler.h util: Merge p_compiler.h into src/util/compiler.h 2023-06-27 18:18:30 +08:00
compress.c util: Avoid the use of MESA_TRACE_BEGIN/END 2023-10-23 17:20:03 +00:00
compress.h
crc32.c Unbreak Viewperf by reverting "util: use crc32_z instead of crc32 and bump zlib dep to 1.2.9" 2024-03-19 03:08:10 +00:00
crc32.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
dag.c util/dag: Add a validation function. 2022-09-29 23:40:18 +00:00
dag.h util/dag: Add a validation function. 2022-09-29 23:40:18 +00:00
dbghelp.h util: Move u_pack_color.h and dbughelp.h into src/util from/src/gallium/auxiliary/util/ 2023-08-02 03:41:24 +00:00
detect.h util: Rename src/gallium/include/pipe/p_config.h to src/util/detect_arch.h 2022-11-15 20:35:55 +00:00
detect_arch.h util: Detect arm64ec as aarch64 (and x86_64) 2024-01-26 00:22:53 +00:00
detect_cc.h util: Remove the unused PIPE_(ARCH|OS|CC) macro defines from src/util/detect_arch.h and src/util/detect_cc.h 2022-11-15 20:35:55 +00:00
detect_os.h mesa/util: Check __ANDROID__ when for detecting for Android 2024-01-18 18:45:40 +00:00
disk_cache.c util/disk_cache: Add marker on cache usage. 2024-01-31 03:14:02 +00:00
disk_cache.h util: Call mesa_bytes_to_hex directly instead of disk_cache_format_hex_id. 2023-04-19 04:19:51 +00:00
disk_cache_os.c util/disk_cache: try getenv(HOME) before getpwuid->pw_dir 2024-04-20 13:43:50 +00:00
disk_cache_os.h util/disk_cache: Add marker on cache usage. 2024-01-31 03:14:02 +00:00
double.c
double.h util: add double_to_float16 helpers 2023-10-09 23:37:52 +00:00
driconf.h anv: implement VK_EXT_image_compression_control 2024-04-16 05:56:12 +00:00
driconf_static.py util,vulkan,mesa,compiler: Generate source files with utf8 encoding from mako template 2023-12-07 12:41:07 +00:00
enum_operators.h
fast_idiv_by_const.c util: Use util_sign_extend in fast_idiv_by_const 2022-07-06 11:23:18 +00:00
fast_idiv_by_const.h
fast_urem_by_const.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
format_r11g11b10f.h
format_rgb9e5.h include: drop c99_math.h 2022-06-02 13:09:16 +00:00
format_srgb.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
format_srgb.py
fossilize_db.c util/fossilize_db: add ifdef for inotify header 2023-01-26 13:06:27 +00:00
fossilize_db.h util/fossilize_db: fix macOS inotify build error 2023-01-23 18:31:48 +00:00
futex.c util/futex: replace double-cast check with a simple sign check 2024-04-19 06:38:58 +00:00
futex.h futex: disable futexes when compiling with tsan 2024-04-11 13:52:36 +00:00
gen_zipped_xml_file.py util: move gen_zipped_file into generic util and rename to gen_zipped_xml_file 2024-03-21 20:48:41 +00:00
glheader.h glthread: pack the index type to 8 bits 2024-02-23 18:03:58 +00:00
glsl2spirv.py meson: use glslang --depfile argument when possible 2024-05-20 17:34:17 +00:00
half_float.c util: remove unused half_to_unorm8 2022-11-04 23:20:02 +00:00
half_float.h util: Do not include immintrin.h in half_float.h 2023-06-28 18:56:20 +00:00
hash_table.c util/hash_table: add u64 foreach macro 2024-02-26 15:37:58 +00:00
hash_table.h util/hash_table: add DERIVE macro 2024-03-12 19:41:49 +00:00
hex.h util: Optimize mesa_hex_to_bytes 2024-01-16 02:15:22 +00:00
libdrm.h util: Updated util/libdrm.h stubs with drmGetMagic() 2024-03-15 10:50:12 +00:00
libsync.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
list.h util/list: rename LIST_ENTRY() to list_entry() 2022-07-28 10:10:44 +00:00
log.c tree-wide: use __normal_user() everywhere instead of writing the check manually 2024-01-30 12:45:54 +00:00
log.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
macros.h util: Add function util_is_power_of_two_nonzero_uintptr and macro IS_POT_NONZERO 2024-01-11 16:45:56 +00:00
memstream.c util: Add #ifdefs for Xbox GDK support. 2023-01-19 03:25:55 +00:00
memstream.h util: Remove include of windows.h in memstream.h 2022-10-20 03:04:56 +00:00
mesa-blake3.c mesa: Add functions to print blake3 2024-05-09 20:08:17 +00:00
mesa-blake3.h mesa: Add functions to print blake3 2024-05-09 20:08:17 +00:00
mesa-sha1.c util: Add dedicated hex conversion functions and use it. 2023-04-19 04:19:50 +00:00
mesa-sha1.h util: skip zero-sized SHA1Update 2023-10-25 17:27:47 +00:00
mesa_cache_db.c util/mesa-db: Introduce multipart mesa-db cache 2023-02-01 02:47:30 +00:00
mesa_cache_db.h util: Fixes error: no previous prototype for 'mesa_cache_db_entry_remove' 2023-02-09 04:05:39 +00:00
mesa_cache_db_multipart.c util/mesa-db: Introduce multipart mesa-db cache 2023-02-01 02:47:30 +00:00
mesa_cache_db_multipart.h util/mesa-db: Introduce multipart mesa-db cache 2023-02-01 02:47:30 +00:00
meson.build util: import pipe_box and its helpers 2024-04-22 01:42:52 +00:00
os_file.c util: mimic KCMP_FILE via KERN_FILE on DragonFly and FreeBSD 2024-03-26 20:53:36 +00:00
os_file.h misc: replace #ifdef\s\s__cplusplus with #ifdef\s__cplusplus 2022-04-21 14:43:39 +00:00
os_memory.h gallium/util: Remove the EMBEDDED_DEVICE macro because nobody use it 2022-11-08 02:37:20 +00:00
os_memory_aligned.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_debug.h util: Replace all usage of __FUNCTION__ with __func__ in src/util/* 2022-11-11 06:15:42 +00:00
os_memory_fd.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
os_memory_fd.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_memory_stdc.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_misc.c treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
os_misc.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
os_mman.h util: Move src/gallium/auxiliary/os/os_mman.h to src/util/os_mman.h 2022-11-15 19:55:01 +00:00
os_socket.c
os_socket.h
os_time.c mesa: add managarm support 2023-11-20 13:35:19 +00:00
os_time.h util: Replace all usage of PIPE_TIMEOUT_INFINITE with OS_TIMEOUT_INFINITE 2023-06-05 05:12:02 +00:00
parson.c util: add parson for handling json files 2024-02-09 21:01:05 +00:00
parson.h util: add parson for handling json files 2024-02-09 21:01:05 +00:00
ptralloc.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
ralloc.c util/ralloc: add memdup 2024-02-26 15:37:58 +00:00
ralloc.h util/ralloc: add memdup 2024-02-26 15:37:58 +00:00
rand_xor.c
rand_xor.h
rb_tree.c util/rb_tree: Add augmented trees and interval trees 2023-11-02 21:03:46 +00:00
rb_tree.h util/rb_tree: Add augmented trees and interval trees 2023-11-02 21:03:46 +00:00
reallocarray.h util/reallocarray: add errno.h include. 2022-07-29 06:47:28 +10:00
register_allocate.c ra: Add debug functions for printing spill costs and benefits 2024-03-19 00:40:52 +00:00
register_allocate.h ra: Add debug functions for printing spill costs and benefits 2024-03-19 00:40:52 +00:00
register_allocate_internal.h
rgtc.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
rgtc.h
rounding.h include: drop c99_math.h 2022-06-02 13:09:16 +00:00
rwlock.c util: Remove include of windows.h in rwlock.h 2022-10-20 03:04:56 +00:00
rwlock.h util: Remove include of windows.h in rwlock.h 2022-10-20 03:04:56 +00:00
set.c util: remove unused set_random_entry 2022-11-04 23:20:02 +00:00
set.h util: remove unused set_random_entry 2022-11-04 23:20:02 +00:00
simple_mtx.c util: Add util_call_once for optimize call to util_call_once_with_context out for hot path 2022-09-22 04:16:29 +00:00
simple_mtx.h util: #include "c11/threads.h" when necessary in simple_mtx.h 2022-10-20 03:04:56 +00:00
slab.c util/slab: add slab_zalloc 2022-03-09 08:48:59 +00:00
slab.h util/slab: add slab_zalloc 2022-03-09 08:48:59 +00:00
softfloat.c util: remove unused lut 2023-10-30 12:35:07 +00:00
softfloat.h
sparse_array.c
sparse_array.h util: use c11 alignas instead of rolling our own 2022-06-14 15:08:37 +00:00
streaming-load-memcpy.c util: Add align_uintptr and use it treewide to replace ALIGN that works on size_t and uintptr_t 2024-01-05 21:54:35 +00:00
streaming-load-memcpy.h streaming-memcpy: move to src/util/ and compile unconditionally 2022-06-07 03:33:20 +00:00
string_buffer.c
string_buffer.h util: Add more PRINTFLIKE and MALLOCLIKE annotations 2023-09-22 10:47:33 -07:00
strndup.h
strtod.c util: Cleanup strtod.(h|c) by introduce _mesa_get_locale 2024-03-19 04:05:08 +00:00
strtod.h util: Cleanup strtod.(h|c) by introduce _mesa_get_locale 2024-03-19 04:05:08 +00:00
texcompress_astc_luts.cpp util: move ASTCLutHolder from mesa/main to util 2023-10-11 19:28:40 +00:00
texcompress_astc_luts.h util: move ASTCLutHolder from mesa/main to util 2023-10-11 19:28:40 +00:00
texcompress_astc_luts_wrap.cpp util: move ASTCLutHolder from mesa/main to util 2023-10-11 19:28:40 +00:00
texcompress_astc_luts_wrap.h util: move ASTCLutHolder from mesa/main to util 2023-10-11 19:28:40 +00:00
texcompress_rgtc_tmp.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
thread_sched.c util: add mesa_pin_threads environment variable that sets a static affinity mask 2024-01-29 19:40:46 +00:00
thread_sched.h util: add mesa_pin_threads environment variable that sets a static affinity mask 2024-01-29 19:40:46 +00:00
timespec.h util: Add timespec_sub_saturate to avoid negative time for deadlines 2024-02-27 13:10:13 +00:00
u_atomic.c util/u_atomic: fix build on clang archs without 64-bit atomics 2022-02-28 14:28:23 +00:00
u_atomic.h util: Fixes note: the alignment of ‘_Atomic long long int’ fields changed in GCC 11. 2023-12-05 09:26:08 +00:00
u_call_once.c util: Add util_call_once for optimize call to util_call_once_with_context out for hot path 2022-09-22 04:16:29 +00:00
u_call_once.h util: Add util_call_once for optimize call to util_call_once_with_context out for hot path 2022-09-22 04:16:29 +00:00
u_cpu_detect.c treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
u_cpu_detect.h util/u_cpu_detect: Detect clflushopt support 2023-09-06 01:39:53 +00:00
u_debug.c util/u_debug: fix parsing of "all" again 2024-03-11 10:44:12 +00:00
u_debug.h treewide: Replace usage of macro DEBUG with MESA_DEBUG when possible 2024-03-22 18:22:34 +00:00
u_debug_memory.c util: Rename src/gallium/include/pipe/p_config.h to src/util/detect_arch.h 2022-11-15 20:35:55 +00:00
u_debug_stack.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
u_debug_stack.h util: Include the needed util/detect*.h headers in multiple files 2022-11-15 20:35:55 +00:00
u_debug_stack_android.cpp android: Make libbacktrace optional again 2023-01-25 08:58:25 -03:00
u_debug_symbol.c util: include "util/compiler.h" instead of "pipe/p_compiler.h" 2023-06-27 18:18:30 +08:00
u_debug_symbol.h misc: Replace #ifdef\t__cplusplus with #ifdef\s\s__cplusplus 2022-04-21 14:43:39 +00:00
u_dl.c gallium/util: Move u_dl and u_pointer to src/util 2022-07-01 21:15:07 +00:00
u_dl.h gallium/util: Move u_dl and u_pointer to src/util 2022-07-01 21:15:07 +00:00
u_drm.h
u_dynarray.c util: fix stack dynarray used by multiple tus 2023-05-25 15:46:35 +00:00
u_dynarray.h util: fix stack dynarray used by multiple tus 2023-05-25 15:46:35 +00:00
u_endian.h util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
u_hash_table.c util: Remove the usage of enum pipe_error in u_hash_table.* 2022-11-19 01:37:46 +00:00
u_hash_table.h util: Remove include "pipe/*.h" in src/util/* files 2023-08-02 03:41:24 +00:00
u_hexdump.h util: Add common hex dump utility 2023-05-19 16:30:44 +00:00
u_idalloc.c util/idalloc: optimize foreach by tracking the greatest non-zero element 2024-02-21 16:04:51 +00:00
u_idalloc.h util/idalloc: optimize foreach by tracking the greatest non-zero element 2024-02-21 16:04:51 +00:00
u_math.c tree-wide: Convert all usage of defined(PIPE_(OS|ARCH|CC)_*) to DETECT_(OS|ARCH|CC)_* by use grep 2022-11-15 20:35:55 +00:00
u_math.h util: import pipe_box and its helpers 2024-04-22 01:42:52 +00:00
u_memory.h util: Delete Offset() macro from u_memory.h 2023-04-15 00:54:16 +00:00
u_memset.h tree-wide: Convert all usage of defined(PIPE_(OS|ARCH|CC)_*) to DETECT_(OS|ARCH|CC)_* by use grep 2022-11-15 20:35:55 +00:00
u_mm.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_mm.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_pack_color.h util: Move u_pack_color.h and dbughelp.h into src/util from/src/gallium/auxiliary/util/ 2023-08-02 03:41:24 +00:00
u_pointer.h gallium/util: Move u_dl and u_pointer to src/util 2022-07-01 21:15:07 +00:00
u_printf.c util/printf: Expose util_printf_prev_tok 2024-01-20 16:11:55 +01:00
u_printf.h util/printf: Expose util_printf_prev_tok 2024-01-20 16:11:55 +01:00
u_process.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
u_process.h util/u_process: remove util_get_process_name_may_override() 2023-01-31 22:02:58 +00:00
u_qsort.cpp util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_qsort.h util: Fixes -Wundef in u_qsort.h 2022-11-24 04:33:07 +00:00
u_queue.c util/u_queue: always enable UTIL_QUEUE_INIT_SCALE_THREADS, remove the flag 2023-07-18 11:11:12 -04:00
u_queue.h util/u_queue: read fence->signalled locked with TSAN 2024-04-11 13:52:36 +00:00
u_string.h util: Add more PRINTFLIKE and MALLOCLIKE annotations 2023-09-22 10:47:33 -07:00
u_thread.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
u_thread.h util: Move pipe_semaphore to u_thread.h and rename it to util_semaphore 2022-11-08 05:21:42 +00:00
u_vector.c util: Replace the usage of redundant u_align_u32 with align and remove u_align_u32 2023-06-29 00:45:30 +00:00
u_vector.h util: Replace the usage of redundant u_align_u32 with align and remove u_align_u32 2023-06-29 00:45:30 +00:00
u_worklist.c util,mesa,panfrost: Drop some author tags 2023-03-26 00:16:25 +00:00
u_worklist.h util,mesa,panfrost: Drop some author tags 2023-03-26 00:16:25 +00:00
vl_bitstream.h util: add a bitstream encoder for video stream headers. 2023-11-03 22:59:36 +00:00
vl_rbsp.h util/rbsp: Fill bits twice if reading more than 16 bits 2023-11-22 13:04:06 +00:00
vl_vlc.h util/vl_vlc: Use UINT64_MAX instead of ~0UL with MSVC compiler 2023-09-06 20:47:20 +00:00
vl_zscan_data.c util/vl: extract gallium vl scanning data to shared code 2023-08-25 03:08:13 +00:00
vl_zscan_data.h util/vl: extract gallium vl scanning data to shared code 2023-08-25 03:08:13 +00:00
vma.c util/vma: Add function to get max continuous free size 2024-03-28 08:50:38 +00:00
vma.h util/vma: Add function to get max continuous free size 2024-03-28 08:50:38 +00:00
xmlconfig.c util/xmlconfig: drop default SYSCONFDIR & DATADIR values 2023-11-16 15:55:02 +00:00
xmlconfig.h util/xmlconfig: drop driInjectDataDir() now that DRIRC_CONFIGDIR is always supported 2023-10-16 07:59:38 +00:00
xxd.py
xxhash.h