mesa/src/util
Alyssa Rosenzweig 662bb5977b util: Add xmlconfig build option
On embedded Linux, we can hardcode the driconf file (00-mesa-defaults.conf) with
no possibility of the file changing after the build. The static driconf
implementation, used on Windows and Android, suffices for that use case. It is
undesireable for these platforms to depend on expat or to spend time during app
start-up parsing driconf XML.

We already have the static driconf implemented, all we need is a meson option to
opt-out of runtime xmlconfig on Linux and use the static version instead.

To opt-out of runtime xmlconfig, build Mesa with -Dxmlconfig=disabled.

v2: Expand out feature.require() since it was only added in meson 0.59.0.

v3: Use more concise Meson syntax (Dylan)

Signed-off-by: Alyssa Rosenzweig <alyssa@collabora.com>
Reviewed-by: Jesse Natalie <jenatali@microsoft.com> [v2]
Reviewed-by: Eric Engestrom <eric@igalia.com> [v2]
Reviewed-by: Emma Anholt <emma@anholt.net>
Tested-by: Chris Healy <healych@amazon.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19626>
2022-11-23 23:14:10 +00:00
..
format gallium/dri: Add P030 format 2022-11-21 09:08:44 +00:00
indices util/indicies: convert u_unfilled_gen.py to write a file 2022-10-19 20:21:08 +00:00
perf util: Remove redundant #include "util/u_inlines.h" in u_trace.c 2022-11-19 01:37:46 +00:00
sha1 util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
tests util: Move src/gallium/include/pipe/p_format.h to src/util/format/u_formats.h 2022-11-19 03:38:19 +00:00
00-mesa-defaults.conf driconf: disable glthread for FINAL FANTASY XI 2022-11-23 10:03:04 +00:00
anon_file.c util: Add os_create_anonymous_file support on win32 2022-08-12 16:34:32 +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 util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
bitset.h util: Remove EXPLICIT_CONVERSION macro and use c++11 explicit directly 2022-11-22 15:42:15 +08:00
blob.c util/blob: use memcpy in read functions 2022-07-07 12:25:05 +00:00
blob.h util/blob: Add align helpers 2022-04-22 19:38:52 +00:00
build_id.c
build_id.h
cnd_monotonic.h
compiler.h util: Rename PIPE_ALIGN_STACK to UTIL_ALIGN_STACK and moved into util/compiler.h 2022-11-19 01:37:46 +00:00
compress.c
compress.h
crc32.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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
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: 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_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
disk_cache.c disk_cache: add env var to show stats 2022-11-12 03:04:35 +00:00
disk_cache.h util/disk_cache: Prevent ‘sha1’ may be used uninitialized warnings. 2022-11-14 23:00:03 +00:00
disk_cache_os.c utils: Merge util/debug.* into util/u_debug.* and remove util/debug.* 2022-11-02 07:25:39 +00:00
disk_cache_os.h disk_cache: add env var to show stats 2022-11-12 03:04:35 +00:00
double.c
double.h
driconf.h driconf: Add DRI configuration for exposing VK_KHR_present_wait. 2022-11-23 19:06:12 +00:00
driconf_static.py driconf: Fix unhandled tags in static conf 2022-01-14 22:09:50 +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
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: Fix double free in error handling. 2022-01-24 01:09:21 +00:00
fossilize_db.h
futex.c util: include sys/time.h for timespec functions 2022-11-16 19:09:30 +00:00
futex.h util: Move the implementation of futex_wake and futex_wait from futex.h to futex.c 2022-10-18 23:20:25 +00:00
glheader.h util: include gles header instead of hand crafted macros 2022-11-04 19:28:19 +00:00
glsl2spirv.py util/glsl2spirv: don't store preprocessed files in source tree 2022-11-22 12:25:12 +00:00
half_float.c util: remove unused half_to_unorm8 2022-11-04 23:20:02 +00:00
half_float.h util: remove unused half_to_unorm8 2022-11-04 23:20:02 +00:00
hash_table.c
hash_table.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
libsync.h replace sys/poll.h with poll.h 2022-11-14 20:13:20 +00:00
list.h util/list: rename LIST_ENTRY() to list_entry() 2022-07-28 10:10:44 +00:00
log.c util/log: Don't print an extra \n if the format string had one. 2022-04-05 21:37:46 +00:00
log.h util/perf: add cpu_trace.h 2022-08-26 21:47:44 +00:00
macros.h util: Remove EXPLICIT_CONVERSION macro and use c++11 explicit directly 2022-11-22 15:42:15 +08:00
memstream.c util: Remove include of windows.h in memstream.h 2022-10-20 03:04:56 +00:00
memstream.h util: Remove include of windows.h in memstream.h 2022-10-20 03:04:56 +00:00
mesa-sha1.c
mesa-sha1.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
mesa_cache_db.c util: fix missing fcntl.h on musl 2022-09-16 23:43:13 +00:00
mesa_cache_db.h util/disk_cache: Add new mesa-db cache type 2022-08-04 17:52:49 +00:00
meson.build util: Add xmlconfig build option 2022-11-23 23:14:10 +00:00
os_file.c
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: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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 gallium/util: Remove the EMBEDDED_DEVICE macro because nobody use it 2022-11-08 02:37:20 +00:00
os_misc.h util: Include the needed util/detect*.h headers in multiple files 2022-11-15 20:35:55 +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 util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
os_time.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
ptralloc.h util: remove needless c99_compat.h includes 2022-06-02 13:09:16 +00:00
ralloc.c util: add freelist allocator with mark/sweep 2022-08-30 18:21:44 +00:00
ralloc.h util: add freelist allocator with mark/sweep 2022-08-30 18:21:44 +00:00
rand_xor.c
rand_xor.h
rb_tree.c
rb_tree.h
reallocarray.h util/reallocarray: add errno.h include. 2022-07-29 06:47:28 +10:00
register_allocate.c
register_allocate.h
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: Keep quiet NaNs quiet when converting to half float. 2022-05-02 23:36:50 +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: Use util_get_cpu_caps instead cpu_has_sse4_1 macro 2022-11-15 19:06:07 +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
strndup.h
strtod.c
strtod.h
texcompress_rgtc_tmp.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
timespec.h util: Remove unused function timespec_passed 2022-06-09 17:23:34 +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: Implement atomic operations consistently across compilers and testing for it 2022-10-13 13:51:18 +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: Rename PIPE_ALIGN_STACK to UTIL_ALIGN_STACK and moved into util/compiler.h 2022-11-19 01:37:46 +00:00
u_cpu_detect.h util: Drop include "pipe/p_config.h" in src/util/u_cpu_detect.h 2022-11-15 19:06:07 +00:00
u_debug.c util: Replace all usage of __FUNCTION__ with __func__ in src/util/* 2022-11-11 06:15:42 +00:00
u_debug.h util: Replace all usage of __FUNCTION__ with __func__ in src/util/* 2022-11-11 06:15:42 +00:00
u_debug_describe.c
u_debug_describe.h
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_refcnt.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_debug_refcnt.h 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 tree-wide: Convert all usage of PIPE_(OS|ARCH|CC)_* to DETECT_(OS|ARCH|CC)_* by use grep 2022-11-15 20:35:55 +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 util: Remove os/os_thread.h and replace #include "os/os_thread.h" with #include "util/u_thread.h" 2022-11-08 05:21:42 +00:00
u_debug_symbol.c tree-wide: Convert all usage of PIPE_(OS|ARCH|CC)_* to DETECT_(OS|ARCH|CC)_* by use grep 2022-11-15 20:35:55 +00: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.h replace 0 with NULL for NULL pointers 2022-01-10 22:53:32 +00:00
u_endian.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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 the usage of enum pipe_error in u_hash_table.* 2022-11-19 01:37:46 +00:00
u_idalloc.c
u_idalloc.h
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: Include the needed util/detect*.h headers in multiple files 2022-11-15 20:35:55 +00:00
u_memory.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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_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: Remove va_copy fixup because of c11 is required 2022-11-11 06:15:42 +00:00
u_printf.h printf: extract clovers printf impl 2022-08-04 23:53:49 +00:00
u_process.c util: Merge the code from os_process.c into u_process.c 2022-11-15 19:55:01 +00:00
u_process.h util: Merge the code from os_process.c into u_process.c 2022-11-15 19:55:01 +00:00
u_qsort.cpp util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_qsort.h meson: Improve detection of qsort_r(). 2022-09-23 07:45:01 +00:00
u_queue.c util: Call function mtx_init on exit_mutex to replace the usage of _MTX_INITIALIZER_NP in u_queue.c 2022-10-20 01:32:47 +00:00
u_queue.h glthread,hud: draw per-frame values and expose the number of batches per frame 2022-09-26 22:58:16 +00:00
u_string.h
u_thread.c util: Move the function implementation from u_thread.h to u_thread.c 2022-10-20 03:04:56 +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
u_vector.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_worklist.c util: Add a generic worklist implementation 2022-04-25 23:50:57 +00:00
u_worklist.h util: Add a generic worklist implementation 2022-04-25 23:50:57 +00:00
vl_rbsp.h
vl_vlc.h util/vl_vlc: Support compiling in C++ 2022-05-17 21:02:24 +00:00
vma.c
vma.h
xmlconfig.c util/xmlconfig: allow drivers to override option values 2022-08-12 06:06:48 +00:00
xmlconfig.h util: Define WITH_XMLCONFIG from Meson 2022-11-23 23:14:10 +00:00
xxd.py
xxhash.h