mesa/src/util
Janne Grunau f912db3f8d
Some checks are pending
macOS-CI / macOS-CI (dri) (push) Waiting to run
macOS-CI / macOS-CI (xlib) (push) Waiting to run
util/driconf/asahi: Override GL renderer for web browsers
Several web sites block clients with "Apple" in the WebGL renderer
string if the reported OS is not one of Apple's.
This check seems to implemented via a 3rd party product which is slowly
rolled out over more web sites. Instead of playing whack-a-mole with
web sites in multiple browsers override the OpenGL renderer in mesa for
known browsers.

Backport-to: 25.3
Signed-off-by: Janne Grunau <j@jannau.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/38845>
2025-12-08 16:23:54 +00:00
..
blake3 util: Disable Werror for BLAKE3 2025-09-16 06:16:20 +00:00
format mesa: Add R16G16_R16B16_UNORM and related formats 2025-11-04 22:28:03 +00:00
perf u_trace: remove redundant char* to string conversion (v2) 2025-11-12 06:17:16 +00:00
rust util/rust: Add handle type detection to descriptor API 2025-12-02 16:24:56 +00:00
sha1 util: silence -Wstringop-overread in SHA1 2025-05-05 11:45:41 +00:00
tests util,wgl: Replace usage of putenv with os_unset_option,os_set_option 2025-11-27 18:22:34 +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 android/gralloc0: add CROS_GRALLOC_DRM_GET_BUFFER_COLOR_INFO 2025-09-17 08:01:41 +00:00
.editorconfig util/rb_tree: Fix editorconfig 2023-11-02 21:03:46 +00:00
00-mesa-defaults.conf util/driconf/asahi: Override GL renderer for web browsers 2025-12-08 16:23:54 +00:00
00-radv-defaults.conf radv: add radv_hide_rebar_on_dgpu and enable for Red Dead Redemption 2 2025-11-26 10:12:45 +00:00
anon_file.c llvmpipe: Work around WSL 1 missing support for memfd_create() 2025-10-14 17:40:12 +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 util: Remove usage of USE_**_ASM macros 2025-08-20 16:21:28 +00:00
bitset.h util/bitset: Wrap __size in braces 2025-11-06 21:34:33 +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 util: Add build_id for macOS 2025-11-17 22:50:07 +00:00
build_id.h util: Add build_id for macOS 2025-11-17 22:50:07 +00:00
cache_ops.h util: Don't advertise cache ops on x86 without SSE2 2025-10-22 03:36:10 +00:00
cache_ops_aarch64.c util/cache_ops: Add some cache flush helpers 2025-10-16 01:19:44 +00:00
cache_ops_null.c util/cache_ops: Add some cache flush helpers 2025-10-16 01:19:44 +00:00
cache_ops_x86.c util/cache_ops/x86: Call util_get_cpu_caps() less 2025-10-16 01:19:44 +00:00
cache_ops_x86_clflushopt.c util: fix arithmetic on a pointer to void warning 2025-12-02 00:12:44 +00:00
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 treewide: use UTIL_DYNARRAY_INIT 2025-11-04 13:39:48 +00:00
dag.h
detect.h
detect_arch.h util: Add DETECT_ARCH_SPARC64 for sparc 2025-08-20 16:21:27 +00:00
detect_cc.h
detect_os.h util: Remove usage of WIN32 macro for DETECT_OS_WINDOWS 2025-08-08 19:38:54 +00:00
disk_cache.c treewide: don't check before free 2025-10-15 23:01:33 +00:00
disk_cache.h util: Introduce HAVE_BUILD_ID for build id utils 2025-11-17 22:50:07 +00:00
disk_cache_os.c util,asahi,vulkan,panfrost: Replace the remaining usage of getenv with os_get_option 2025-11-27 18:22:32 +00:00
disk_cache_os.h treewide: Replace the usage of setenv manually and #include "util/os_misc.h" when needed 2025-11-27 18:22:33 +00:00
double.c
double.h util: add double_to_float16 helpers 2023-10-09 23:37:52 +00:00
driconf.h radv: add radv_hide_rebar_on_dgpu and enable for Red Dead Redemption 2 2025-11-26 10:12:45 +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
drm_is_nouveau.h loader: Don't load nouveau GL on nvidia kmd 2025-07-29 23:52:32 +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
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 mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +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: Use better glslang flag for -Olib 2025-11-20 02:14:50 +00:00
half_float.c
half_float.h util: Disable inline asm for arm64 for MSVC 2025-08-22 22:33:50 +00:00
hash_table.c treewide: don't check before free 2025-10-15 23:01:33 +00:00
hash_table.h util/hash_table: add _mesa_hash_table_copy, a cloning helper without allocation 2025-08-21 06:13:48 +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 Guard double include of libdrm.h by defining LIBDRM_H 2025-08-06 08:46:52 +00:00
libsync.h libsync: replace dup() with os_dupfd_cloexec() 2025-02-26 00:45:51 +00:00
list.h util/list: Add iterator debug to more routines. 2025-09-10 07:38:24 +00:00
log.c util/log: Add MESA_LOG_PREFIX environment variable to control log prefixes 2025-11-07 13:38:52 +00:00
log.h util/log: Add a MESA_LOG_LEVEL environment variable 2025-09-08 21:28:10 +00:00
lut.c util: add boolean lookup table helpers 2025-09-16 21:48:37 +00:00
lut.h util: add boolean lookup table helpers 2025-09-16 21:48:37 +00:00
macros.h util: Add PRAGMA_DIAGNOSTIC_IGNORED_CLANG PRAGMA_DIAGNOSTIC_IGNORED_GCC for latter use 2025-11-12 21:22:10 +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 treewide: don't check before free 2025-10-15 23:01:33 +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: Move ASTC unpack routines to common util 2025-11-07 12:14:31 +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: Fix gnu-empty-initializer error 2025-10-23 21:11:30 +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
os_memory_aligned.h util, vulkan: use u_overflow.h 2025-09-23 09:09:55 +02:00
os_memory_debug.h
os_memory_fd.c util: add os_map_memory_fd_placed for placed mapping support 2025-11-05 08:26:40 +00:00
os_memory_fd.h util: add os_map_memory_fd_placed for placed mapping support 2025-11-05 08:26:40 +00:00
os_memory_stdc.h util: Rename DETECT_OS_UNIX to DETECT_OS_POSIX 2024-06-07 01:56:28 +00:00
os_misc.c util: Add function os_unset_option/os_set_option for latter use 2025-11-27 18:22:32 +00:00
os_misc.h util: Update os_get_option* comments to match os_set_option 2025-11-27 18:22:32 +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, vulkan: use u_overflow.h 2025-09-23 09:09:55 +02: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/shader_stats: allow "hidden" stats 2025-10-02 20:22:00 +00:00
ptralloc.h
ralloc.c util: Avoid invalid access in ralloc_print_info() 2025-09-06 20:28:34 +00:00
ralloc.h util: add DECLARE_LINEAR_ZALLOC with no sanitize 2025-08-21 12:09:04 +00:00
rand_xor.c
rand_xor.h
range_minimum_query.c util: Add range_minimum_query 2025-09-08 23:03:13 +00:00
range_minimum_query.h util: Add range_minimum_query 2025-09-08 23:03:13 +00:00
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
register_allocate.c treewide: use BITSET_BYTES, BITSET_RZALLOC 2025-11-05 18:44:23 +00:00
register_allocate.h util/ra: Allow driver to override class P value. 2025-09-10 02:15:55 +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 util: Now DETECT_ARCH_X86_64 can be safely used in rounding.h 2025-08-15 09:27:19 +00:00
rwlock.c
rwlock.h
set.c util/set: add _mesa_set_copy, a cloning helper without allocation 2025-08-21 06:13:48 +00:00
set.h util/set: add _mesa_set_copy, a cloning helper without allocation 2025-08-21 06:13:48 +00:00
shader_stats.rnc util/shader_stats: allow "hidden" stats 2025-10-02 20:22:00 +00:00
shader_stats.xml tu: Add a loop count to VK_pipeline_executable_properties. 2025-11-28 05:42:50 +00:00
simple_mtx.c
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
sparse_bitset.h util: Add sparse bitset data structure 2025-11-06 21:34:33 +00:00
streaming-load-memcpy.c util: Disable inline asm for arm64 for MSVC 2025-08-22 22:33:50 +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.c util: Fixes gcc warning: declaration of 'strndup' shadows a built-in function [-Wshadow] 2025-09-13 08:23:07 +00:00
strndup.h util: Fixes gcc warning: declaration of 'strndup' shadows a built-in function [-Wshadow] 2025-09-13 08:23:07 +00:00
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.cpp util: Move ASTC unpack routines to common util 2025-11-07 12:14:31 +00:00
texcompress_astc.h util: Move ASTC unpack routines to common util 2025-11-07 12:14:31 +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: Implement p_atomic_read for C++ properly. 2025-08-22 02:05:57 +00:00
u_call_once.c
u_call_once.h
u_cpu_detect.c mesa: replace most occurrences of getenv() with os_get_option() 2025-11-06 04:36:13 +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,asahi,vulkan,panfrost: Replace the remaining usage of getenv with os_get_option 2025-11-27 18:22:32 +00:00
u_debug_memory.c
u_debug_stack.c util: refactor to use DETECT_OS_ANDROID 2024-02-01 19:29:49 +00:00
u_debug_stack.h util: fix error about missing include 2025-12-02 20:03:02 +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: Refactoring util_dl_get_path_from_proc out of clc/clc_helpers.cpp 2025-08-07 21:15:13 +00:00
u_dl.h util: Refactoring util_dl_get_path_from_proc out of clc/clc_helpers.cpp 2025-08-07 21:15:13 +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: add UTIL_DYNARRAY_INIT sentinel 2025-11-04 13:39:48 +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 treewide: don't check before free 2025-10-15 23:01:33 +00:00
u_idalloc.h util/idalloc: Minor refactor of util_idalloc_foreach() 2024-12-10 08:29:00 +00:00
u_math.c
u_math.h util: Getting util_align_npot to be same with ALIGN_NPOT so it can be merged latter 2025-11-13 21:02:44 -08:00
u_memory.h util: Delete Offset() macro from u_memory.h 2023-04-15 00:54:16 +00:00
u_memset.h
u_mm.c
u_mm.h util: add c++ guards to u_mm.h 2024-11-08 08:09:49 -08:00
u_overflow.h mesa: add u_overflow.h 2025-09-23 09:09:55 +02:00
u_pack_color.h util: use unsigned types when performing bitshift 2024-06-21 21:07:05 +00:00
u_pointer.h
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 treewide: don't check before free 2025-10-15 23:01:33 +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
u_queue.c util/u_queue: Fix data race on num_threads during finish. 2025-08-24 19:30:06 +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_range_remap.c treewide: don't check before free 2025-10-15 23:01:33 +00:00
u_range_remap.h util/range_remap: add util_range_switch_to_sorted_array() helper 2025-10-15 02:16:36 +00:00
u_string.c util: Refactoring util_dl_get_path_from_proc out of clc/clc_helpers.cpp 2025-08-07 21:15:13 +00:00
u_string.h meson/util: Define _GNU_SOURCE for mingw 2025-09-24 18:13:03 +00: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: Remove unused ALIGN function to prevent future use 2025-11-12 21:58:41 +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 build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49: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 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 util,asahi,vulkan,panfrost: Replace the remaining usage of getenv with os_get_option 2025-11-27 18:22:32 +00:00
xmlconfig.h build: avoid redefining unreachable() which is standard in C23 2025-07-31 17:49:42 +00:00
xxd.py
xxhash.h util: Upgrade xxhash.h to v0.8.3 2025-08-08 19:38:54 +00:00