mesa/src/util
Paolo Bonzini 8ea232a9ae meson: rename Rust subprojects to NAME-SEMVER-rs
Use the convention for Rust subprojects that was adopted by Meson 1.5.0
and newer.

Distros would prefer to avoid vendored crate sources, and instead use
local sources from e.g. /usr/share/cargo/registry.  While Meson does not
support a local registry, it can be emulated with MESON_PACKAGE_CACHE_DIR.

However, because the distro might not be using the exact version of the
package, but only one that has the same semver, packagers need to add
some hacks to rewrite the wrap files.  For example, in Fedora:

    export MESON_PACKAGE_CACHE_DIR="%{cargo_registry}/"
    # So... Meson can't actually find them without tweaks
    %define inst_crate_nameversion() %(basename %{cargo_registry}/%{1}-*)
    %define rewrite_wrap_file() sed -e "/source.*/d" -e "s/%{1}-.*/%{inst_crate_nameversion %{1}}/" -i subprojects/%{1}.wrap
    %rewrite_wrap_file proc-macro2
    %rewrite_wrap_file quote
    %rewrite_wrap_file syn
    %rewrite_wrap_file unicode-ident
    %rewrite_wrap_file paste

Having a common convention for the name of Rust wraps makes it possible
to perform this transformation with a script without listing
the wraps one by one, and to share the script across multiple packages
(which will be useful when QEMU starts using Rust in a similar way to Mesa).

For an example of such a script, see
https://lore.kernel.org/r/20250722083507.678542-1-pbonzini@redhat.com/.

Acked-by: Faith Ekstrand <faith.ekstrand@collabora.com>
Reviewed-by: Gurchetan Singh <gurchetansingh@chromium.org>
Tested-by: Gurchetan Singh <gurchetansingh@chromium.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/36284>
2025-07-24 17:52:34 +00:00
..
blake3 meson: disable SIMD blake optimisations on x32 host 2025-04-11 20:57:38 +00:00
format util: Fix sparse tile size when dimensions=1 2025-07-23 13:29:18 +00:00
perf util/u_trace: Add scripts for perf analysis based on u_trace results 2025-07-22 21:15:51 +00:00
rust meson: rename Rust subprojects to NAME-SEMVER-rs 2025-07-24 17:52:34 +00:00
sha1 util: silence -Wstringop-overread in SHA1 2025-05-05 11:45:41 +00:00
tests util: add float8 conversion functions 2025-06-23 07:59:24 +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/mapper4: properly expose ChromaSiting types based on api level 2025-07-22 22:15:11 +00:00
.editorconfig util/rb_tree: Fix editorconfig 2023-11-02 21:03:46 +00:00
00-mesa-defaults.conf util: add workaround for Interstellar Rift 2025-07-22 23:58:00 +00:00
00-radv-defaults.conf radv: advertise VK_NV_cooperative_matrix2/cooperativeMatrixConversions behind an env var 2025-06-24 07:14:35 +00:00
anon_file.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
anon_file.h gfxstream: Avoid repeated functionality 2024-11-18 15:51:48 +00:00
bfloat.h util: fix float to bfloat16 conversion with NaN 2025-05-12 10:26:01 +00:00
bigmath.h
bitpack_helpers.h clc,libcl: Clean up CL includes 2025-04-11 21:27:37 +00:00
bitscan.c
bitscan.h ac/nir: handle VARYING_SLOT_VARn_16BIT the same as other slots 2025-07-12 05:20:02 +00:00
bitset.h util: Add BITSET_EXTRACT 2025-04-17 20:20:40 +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/box: make u_box_test_intersection_2d() consistent with other funcs 2025-06-11 20:46:29 +00:00
build_id.c
build_id.h
cnd_monotonic.c util: macOS support for cnd_monotonic 2024-07-10 15:23:53 +00:00
cnd_monotonic.h util/cnd_monotonic: Use a void * on Windows 2024-07-08 22:09:06 +00:00
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
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 LoongArch architecture 2024-07-24 00:59:23 +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 util: detect_os: add DETECT_OS_FUCHSIA and DETECT_OS_POSIX_LITE 2024-06-07 18:29:20 +00:00
disk_cache.c util/disk_cache: Re-enable multi-file cache by default 2025-04-24 02:43:51 +00:00
disk_cache.h util/disk_cache: add a new helper to create a disk cache 2025-02-05 16:30:27 +00:00
disk_cache_os.c util/disk_cache: dont create multidisk cache dir if unused 2025-02-25 00:11:03 +00:00
disk_cache_os.h util/disk_cache: dont create multidisk cache dir if unused 2025-02-25 00:11:03 +00:00
double.c
double.h util: add double_to_float16 helpers 2023-10-09 23:37:52 +00:00
driconf.h anv/brw: move Wa_18019110168 handling to backend 2025-06-28 05:55:32 +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 util/enum_operators: Don't define anything for OpenCL 2025-02-12 22:33:06 +01:00
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
float8.c util: add float8 conversion functions 2025-06-23 07:59:24 +00:00
float8.h util: add float8 conversion functions 2025-06-23 07:59:24 +00:00
format_r11g11b10f.h util/format: Handle denorms when converting to R11G11B10F 2024-06-19 01:56:22 +00:00
format_rgb9e5.h util: use unsigned types when performing bitshift 2024-06-21 21:07:05 +00:00
format_srgb.h util: Make format_srgb.h C++ safe 2024-06-19 01:56:22 +00:00
format_srgb.py
fossilize_db.c util/fossilize_db: don't use check_files_opened_successfully for foz_prepare 2024-09-16 23:32:56 +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 util/glsl2spirv: only copy the input file if we're going to change it 2024-07-23 11:07:04 +00:00
half_float.c util: remove unused half_to_unorm8 2022-11-04 23:20:02 +00:00
half_float.h util: Fix warning C4244 'argument' : conversion from 'type1' to 'type2', possible loss of data 2025-01-15 21:40:20 +00:00
hash_table.c util: add hash functions for u64 data type 2025-04-08 19:39:53 +00:00
hash_table.h util: add hash functions for u64 data type 2025-04-08 19:39:53 +00:00
helpers.c util: move util_lower_clearsize_to_dword here 2024-08-10 02:14:44 +00:00
helpers.h util: move util_lower_clearsize_to_dword here 2024-08-10 02:14:44 +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 libsync: replace dup() with os_dupfd_cloexec() 2025-02-26 00:45:51 +00:00
list.h util/list: rename LIST_ENTRY() to list_entry() 2022-07-28 10:10:44 +00:00
log.c util/mesa: move mesa/main log code to util 2024-07-10 17:00:33 +00:00
log.h util/mesa: move mesa/main log code to util 2024-07-10 17:00:33 +00:00
macros.h util: make SWAP safe for MSVC 2025-07-22 23:17:00 +00:00
memstream.c util: memstream: add fflush support 2024-10-17 02:50:20 +00:00
memstream.h util: memstream: add fflush support 2024-10-17 02:50:20 +00:00
mesa-blake3.c radeonsi,util: add more usage for AMD_FORCE_SHADER_USE_ACO 2025-02-10 02:06:55 +00:00
mesa-blake3.h radeonsi,util: add more usage for AMD_FORCE_SHADER_USE_ACO 2025-02-10 02:06:55 +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 Revert "util: Use persistent array of index entries" 2024-11-14 14:20:18 +00:00
mesa_cache_db.h Revert "util: Use persistent array of index entries" 2024-11-14 14:20:18 +00:00
mesa_cache_db_multipart.c util/mesa-db-multipart: Open one cache part at a time 2024-10-25 18:06:14 +00:00
mesa_cache_db_multipart.h util/mesa-db-multipart: Open one cache part at a time 2024-10-25 18:06:14 +00:00
meson.build util: add float8 conversion functions 2025-06-23 07:59:24 +00:00
os_drm.h util,amd: add inlinable versions of drmIoctl/drmCommandWrite* 2024-11-26 00:16:02 -05:00
os_file.c util: add/use new os_mkdir() function 2025-07-03 14:30:17 +00:00
os_file.h util: add/use new os_mkdir() function 2025-07-03 14:30:17 +00:00
os_file_notify.c util: Add file modification notifier utility 2025-01-30 17:42:06 +00:00
os_file_notify.h util: Add file modification notifier utility 2025-01-30 17:42:06 +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
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: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +00:00
os_memory_fd.h
os_memory_stdc.h util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +00:00
os_misc.c android: look for debug/vendor prefixed options 2024-10-15 20:22:17 +00:00
os_misc.h util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +00:00
os_mman.h util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +00:00
os_socket.c
os_socket.h
os_time.c util/time: add os_time_nanosleep_until() function 2025-07-24 09:50:07 +00:00
os_time.h util/time: add os_time_nanosleep_until() function 2025-07-24 09:50:07 +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
pb_slab.c util: Move pb_slab from gallium to util 2025-04-30 12:56:39 +00:00
pb_slab.h util: Move pb_slab from gallium to util 2025-04-30 12:56:39 +00:00
process_shader_stats.py util/stats: add serialize helpers 2025-06-20 09:26:58 +00:00
ptralloc.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
ralloc.c util/ralloc: add total_size helper 2024-10-30 12:59:10 +00:00
ralloc.h util: Add operator new[] to linear context helper declarations 2025-01-10 07:05:35 +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 util/ra: Don't store a pointer to a ra_regs per ra_reg 2025-01-13 23:10:51 +00:00
register_allocate.h util/ra: Remove unimplemented function declaration 2024-11-28 19:19:26 +00:00
register_allocate_internal.h util/ra: Don't store a pointer to a ra_regs per ra_reg 2025-01-13 23:10:51 +00:00
rgtc.c
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 treewide: use SWAP macro 2025-07-23 19:49:47 +00:00
set.h util: remove unused set_random_entry 2022-11-04 23:20:02 +00:00
shader_stats.rnc util/stats: fix XML type validation 2025-06-20 09:26:58 +00:00
shader_stats.xml agx: add stats for preamble inst 2025-07-10 14:55:17 -04: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/simple_mtx: fix duplicate definition 2025-04-15 08:30:40 +00:00
slab.c
slab.h
softfloat.c util: fix msvc build warning 4146 (unary minus operator applied to unsigned type, result still unsigned) 2025-05-09 16:34:00 +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 AArch64 support to util_streaming_load_memcpy() 2025-05-16 13:35:33 +00:00
streaming-load-memcpy.h util: Add AArch64 support to util_streaming_load_memcpy() 2025-05-16 13:35:33 +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/texcompress: fix comparison warning 2025-07-04 15:26:39 +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
u_atomic.h util: Make atomic_read use volatile reads with _Generic/decltype 2025-05-09 16:34:00 +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 util/cpu: fix broken powerpc linux builds 2025-06-25 23:39:23 +00:00
u_cpu_detect.h util/cpu: Remove util_cpu_caps_t::family 2025-05-09 20:10:10 +00:00
u_debug.c util: Add dump_debug_control_string to dump debug_control 2025-02-12 10:57:30 +00:00
u_debug.h util: Add dump_debug_control_string to dump debug_control 2025-02-12 10:57:30 +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
u_dl.c util: u_dl: add Fuchsia support 2024-06-07 18:29:20 +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 nir: add gathering passes that gather which inputs affect specific outputs 2025-04-23 17:47:37 +00:00
u_endian.h clc,libcl: Clean up CL includes 2025-04-11 21:27:37 +00:00
u_hash_table.c util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +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/hexdump: Squeeze repeated patterns instead of zero-ed chunks 2024-08-19 11:28:18 +00:00
u_idalloc.c util/u_idalloc: fix util_idalloc_sparse_alloc_range() 2025-03-08 09:17:07 +00:00
u_idalloc.h util/idalloc: Minor refactor of util_idalloc_foreach() 2024-12-10 08:29:00 +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 clc,libcl: Clean up CL includes 2025-04-11 21:27:37 +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
u_mm.h util: add c++ guards to u_mm.h 2024-11-08 08:09:49 -08:00
u_pack_color.h util: use unsigned types when performing bitshift 2024-06-21 21:07:05 +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/u_printf: support printing fp16 values 2025-06-05 13:17:27 +00:00
u_printf.h util,vulkan,asahi,hk: hash format strings 2025-01-17 18:09:45 +00:00
u_process.c util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +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
u_qsort.h util: Fixes -Wundef in u_qsort.h 2022-11-24 04:33:07 +00:00
u_queue.c util/u_queue: Replace relative time wait hack with u_cnd_monotonic 2024-08-06 16:37:59 +00:00
u_queue.h util: Fix warning C4244 'argument' : conversion from 'type1' to 'type2', possible loss of data 2025-01-15 21:40:20 +00:00
u_string.h util: Add more PRINTFLIKE and MALLOCLIKE annotations 2023-09-22 10:47:33 -07:00
u_sync_provider.c util: add util_sync_provider::clone 2025-06-27 08:15:49 +00:00
u_sync_provider.h util: add util_sync_provider::clone 2025-06-27 08:15:49 +00:00
u_thread.c util: u_thread: add Fuchsia support 2024-06-07 18:29:20 +00:00
u_thread.h u_thread.h: Fix warning C4800 forcing value to bool 'true' or 'false' 2025-02-03 11:06:59 +00:00
u_tristate.h util: add u_tristate data structure 2024-11-20 16:10:11 +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 vulkan/video: add support for AV1 encoding to runtime 2025-06-26 15:41:01 +00:00
vl_rbsp.h util/rbsp: Fill bits again if reading more than 16 leading zeros 2024-08-23 06:54:06 +00:00
vl_vlc.h util: Fixed crash in HEVC encoding on 32-bit systems 2024-11-15 09:51:39 +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: Fix util_vma_heap_get_max_free_continuous_size calculation 2024-10-24 10:50:08 +00:00
vma.h util/vma: Add function to get max continuous free size 2024-03-28 08:50:38 +00:00
xmlconfig.c driconf: add uint64 type 2025-04-09 21:09:20 +00:00
xmlconfig.h driconf: add uint64 type 2025-04-09 21:09:20 +00:00
xxd.py
xxhash.h