mesa/src/util
Chia-I Wu 9febc11af9 util: Keep quiet NaNs quiet when converting to half float.
We don't want to be throwing exceptions and changing float values later by
emitting a signaling binary16 nan.

If we don't do this, then when we convert back to f32 in NIR constant
expression evaluation, the signaling NaN can end up giving NaN for
fmax(NaN, 0.0), instead of 0.0.

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/5933
Cc: mesa-stable
Reviewed-by: Emma Anholt <emma@anholt.net>
Reviewed-by: Jason Ekstrand <jason.ekstrand@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16233>
(cherry picked from commit 27e33d5c96)
2022-05-03 09:41:32 -07:00
..
format util/format: add new z24/s8 packing helper to pack z32/s8. 2022-03-26 01:22:15 +00:00
indices util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
perf util/utrace: make generated code a tiny bit nicer to look at 2022-02-01 09:28:30 +00:00
sha1 util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
tests util: Add tests for u_printf.h 2022-04-11 03:31:40 +00:00
00-mesa-defaults.conf anv: workaround apps that assume full subgroups without specifying it 2022-04-26 09:06:12 -07:00
anon_file.c util: use anonymous file for memory fd creation 2021-10-27 15:26:52 +00:00
anon_file.h
bigmath.h
bitscan.c
bitscan.h util: Add util_widen_mask function. 2021-12-03 18:29:13 +00:00
bitset.h util/bitset: Fix off-by-one in __bitset_set_range 2022-03-10 17:15:29 +00:00
blob.c
blob.h util/blob: Clarify rules on blob::data 2022-02-19 01:25:46 +00:00
build_id.c
build_id.h
cnd_monotonic.h c11/threads: Re-align return values for timed waits 2021-11-16 10:02:08 -06:00
compiler.h util: Add support for clang::fallthrough. 2021-11-09 20:51:14 +00:00
compress.c meson, util: Make zlib optional again 2021-03-19 19:33:59 +00:00
compress.h meson, util: Make zlib optional again 2021-03-19 19:33:59 +00:00
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 dag_add_edge_max_data 2021-11-17 13:41:47 +00:00
dag.h util/dag: Add dag_add_edge_max_data 2021-11-17 13:41:47 +00:00
debug.c
debug.h
detect_os.h
disk_cache.c util/disk_cache: rename MESA_GLSL_CACHE envvar 2022-03-17 11:15:53 +01:00
disk_cache.h util/disk_cache: add nocopy variant of disk cache store function 2021-06-11 03:09:22 +00:00
disk_cache_os.c util/disk_cache: rename MESA_GLSL_CACHE envvar 2022-03-17 11:15:53 +01:00
disk_cache_os.h util/disk_cache: make MESA_DISK_CACHE_READ_ONLY_FOZ_DBS a relative path 2021-03-04 04:07:46 +00:00
double.c
double.h
driconf.h radv: allow to disable sinking of load inputs for FS via drirc 2022-04-27 12:30:28 -07:00
driconf_static.py driconf: Fix unhandled tags in static conf 2022-01-14 22:09:50 +00:00
enum_operators.h util: tune signatures of generated enum operators 2021-05-14 11:00:52 +00:00
fast_idiv_by_const.c util: Add and use functions to calculate min and max int for a size 2021-08-03 12:55:02 -07:00
fast_idiv_by_const.h
fast_urem_by_const.h
format_r11g11b10f.h
format_rgb9e5.h
format_srgb.h
format_srgb.py python: drop python2 support 2021-08-14 21:44:32 +00:00
fossilize_db.c util/fossilize_db: Fix double free in error handling. 2022-01-24 01:09:21 +00:00
fossilize_db.h util/fossilize_db: Add extra flock mutex. 2021-08-08 13:34:42 +02:00
futex.h
half_float.c util: Keep quiet NaNs quiet when converting to half float. 2022-05-03 09:41:32 -07:00
half_float.h util: Add accessor for util_cpu_caps 2021-02-26 18:31:19 +00:00
hash_table.c util/hash_table: Clear special 0/1 entries for u64 hash table too 2021-11-02 11:02:18 -07:00
hash_table.h util/hash_table: Remove Unicode byte order mark 2022-04-10 23:28:47 +00:00
libsync.h egl+libsync: Add helper to complain about invalid fence fd's 2022-03-04 22:16:20 +00:00
list.h util/list.h: Add docstrings for list_add and list_addtail 2022-03-17 18:25:55 +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/log: Add support for logging once. 2022-04-06 00:04:14 +00:00
macros.h util: Getting u_debug.h not depends on pipe/* 2022-04-01 01:52:43 +00:00
memstream.c
memstream.h includes: add windows lean and mean guard. 2022-01-19 21:54:58 +00:00
mesa-sha1.c util: add SHA1 printing and comparison functions 2021-11-26 11:58:27 +00:00
mesa-sha1.h util: add SHA1 printing and comparison functions 2021-11-26 11:58:27 +00:00
meson.build util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
os_file.c util: replaced ENODATA with ENOATTR for non-Linux systems 2021-06-28 21:12:24 +03:00
os_file.h util: Make os_read_file use O_BINARY on Windows 2021-03-11 23:43:47 +00:00
os_memory.h
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: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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 util: Remove unused Android options_tbl_lock 2021-04-15 16:01:21 +00:00
os_misc.h
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: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
ralloc.c vulkan: Add vk_asprintf and vk_vasprintf helpers 2021-09-23 21:14:32 +00:00
ralloc.h
rand_xor.c
rand_xor.h
rb_tree.c
rb_tree.h util: Convert rb_tree_test to gtest 2021-10-20 21:40:31 -07:00
register_allocate.c util/ra: Fix numeric overflow during bitset allocation 2021-12-19 13:10:26 -08:00
register_allocate.h ra: Add fast-path support for register classes of contiguous regs. 2021-06-04 19:08:57 +00:00
register_allocate_internal.h util/ra: use adjacency matrix for undirected graph 2021-12-14 09:19:01 +00:00
rgtc.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
rgtc.h
rounding.h util: When building 'ARM64EC', don't use x64 intrinsics which need to be emulated 2021-01-22 17:56:08 +00:00
rwlock.h
set.c util/set: Respect found in search_or_add_pre_hashed 2022-04-24 21:04:53 -07:00
set.h util/set: add macro for destructively iterating set entries 2021-04-07 22:57:27 +00:00
simple_list.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
simple_mtx.h
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-03 09:41:32 -07:00
softfloat.h
sparse_array.c
sparse_array.h
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/timespec: Return overflow from timespec_add_[mn]sec() 2022-04-06 00:38:22 +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: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_cpu_detect.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_cpu_detect.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_debug.c util: limit error-dialogs to win32 2022-04-08 13:15:12 +00:00
u_debug.h util: limit error-dialogs to win32 2022-04-08 13:15:12 +00:00
u_debug_describe.c util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_describe.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_memory.c
u_debug_refcnt.c util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_refcnt.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_debug_stack.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_debug_stack.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_debug_stack_android.cpp
u_debug_symbol.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_debug_symbol.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +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_fifo.h util/u_trace: make u_trace usable for other than gallium drivers 2021-09-10 14:58:28 +03:00
u_hash_table.c util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_hash_table.h util: import u_debug_refcnt, u_hash_table, u_debug_describe from gallium 2021-10-01 14:51:23 +00:00
u_idalloc.c util/idalloc: add util_idalloc_alloc_range 2021-07-09 10:05:46 +00:00
u_idalloc.h util/idalloc: add util_idalloc_alloc_range 2021-07-09 10:05:46 +00:00
u_math.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_math.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_memory.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
u_memset.h util: add optimised memset64 2021-02-22 00:30:46 +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_perfetto.cc util/perfetto: Add one-time init 2021-05-10 15:34:07 +00:00
u_perfetto.h util/perfetto: Add one-time init 2021-05-10 15:34:07 +00:00
u_printf.c util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
u_printf.h util: Convert util/u_printf.cpp to util/u_printf.c 2022-04-11 03:31:40 +00:00
u_process.c util: make util_get_process_exec_path work on FreeBSD w/o procfs 2021-10-29 06:06:05 +00:00
u_process.h util/u_process: protect entrypoints for c++ 2022-01-14 20:17:44 +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: Add qsort_r/s args adapter for MSVC and BSD/macOS 2021-06-24 20:05:12 +00:00
u_queue.c util/queue: fix a data race detected by TSAN when finishing the queue 2021-11-19 09:02:23 +01:00
u_queue.h util/queue: use simple_mtx_t for finish_lock 2021-10-05 23:46:14 +00:00
u_string.h util: fix gcc vsnprintf overflow 2021-02-19 11:05:38 +00:00
u_thread.h util: Should not use ASSERTED in util_thread_get_time_nano 2022-03-29 23:33:21 +00:00
u_vector.c util/vector: make util_vector_init harder to misuse 2021-10-08 00:15:11 +00:00
u_vector.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
vl_rbsp.h util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code. 2021-11-15 21:57:28 +00:00
vl_vlc.h util/vl: move gallium vl_vlc.h and vl_rbsp.h to shared code. 2021-11-15 21:57:28 +00:00
vma.c
vma.h
xmlconfig.c util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
xmlconfig.h util: trim trailing space for files src/util/**/* 2022-03-21 17:57:15 +00:00
xxd.py python: drop python2 support 2021-08-14 21:44:32 +00:00
xxhash.h