mesa/src/util
Emma Anholt d6d7421e98 util/ra: Use the conflicting neighbor to skip unavailable registers.
Now that we have an idea of how many regs the conflicting allocation uses,
we can just skip to the next one and save repeated tests to find the same
conflicting neighbor again.

shadowrun-returns shader-db time on skl -1.62821% +/- 1.58079% (n=679),
now there's no statistically significant change from the start of the series
(n=420)

Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9437>
2021-06-04 19:08:57 +00:00
..
format util/format: Change the pointer offset. 2021-06-03 04:44:24 +00:00
sha1 util: rename PIPE_ARCH_*_ENDIAN to UTIL_ARCH_*_ENDIAN 2019-11-05 16:39:55 +00:00
tests util: Switch the non-block formats to unpacking rgba rows instead of rects. 2021-04-19 17:59:44 +00:00
00-mesa-defaults.conf radv: enable RADV_DEBUG=invariantgeom for SotTR DX11/DX12 versions 2021-06-03 06:32:35 +00:00
Android.mk util/format: Add some NEON intrinsics-based u_format_unpack. 2021-04-19 17:59:44 +00:00
anon_file.c util/anon_file: add OpenBSD shm_mkstemp() path 2020-08-31 09:14:57 +00:00
anon_file.h util/anon_file: const string param 2019-08-08 22:02:54 +01:00
bigmath.h util: Add a simple big math library 2018-10-10 13:13:12 -05:00
bitscan.c util: only allow _BitScanReverse64 on 64-bit cpus 2019-09-02 12:45:45 +00:00
bitscan.h util/bitscan: add u_foreach_bit macros 2021-02-24 17:11:44 +00:00
bitset.h util/bitset: Add BITSET_COUNT helper 2021-05-02 20:38:28 +00:00
bitset_test.cpp util/tests: add basic unit tests for bitset 2019-05-03 15:23:04 +10:00
blob.c util: stop including files from mesa/main 2020-03-27 21:00:09 +00:00
blob.h util/blob: Add overwrite function for uint8 2020-03-20 17:25:25 +00:00
blob_test.c Move blob from compiler/ to util/ 2019-09-19 19:56:22 +00:00
build_id.c util/macros: Import ALIGN_POT from ralloc.c 2018-07-02 12:09:14 -07:00
build_id.h util: add missing extern C 2020-09-25 20:09:08 +00:00
cnd_monotonic.h util,radv: Cross-platform monotonic condition variable 2020-11-26 07:58:56 +00:00
compiler.h util: Disable [[fallthrough]] for C17 2020-12-02 19:35:59 +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: use faster zlib's CRC32 implementaion 2018-01-14 19:10:33 +02:00
crc32.h util: import CRC32 implementation from gallium 2016-11-22 18:05:51 +01:00
dag.c util: Add a DAG datastructure. 2019-03-11 13:13:52 -07:00
dag.h util: Add a DAG datastructure. 2019-03-11 13:13:52 -07:00
debug.c util: stop including files from mesa/main 2020-03-27 21:00:09 +00:00
debug.h Revert "util: Add helpers for various one-time-init patters" 2020-11-25 09:44:11 +00:00
detect_os.h util: introduce detect_os.h 2019-08-02 18:38:52 +01:00
disk_cache.c util/disk_cache: make MESA_DISK_CACHE_READ_ONLY_FOZ_DBS a relative path 2021-03-04 04:07:46 +00:00
disk_cache.h util/disk_cache: use a new cache dir for the single file cache feature 2021-02-21 02:50:45 +00:00
disk_cache_os.c util/disk_cache: add cache item headers to single file cache entries 2021-03-16 23:37:48 +00: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 util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
double.h util: add fp64 -> fp32 conversion support for RTNE and RTZ rounding modes 2019-09-17 23:39:18 +03:00
driconf.h radv: add few new drirc options 2021-05-26 18:48:04 +00:00
driconf_static.py util/drirc: make engine_versions an optional field 2021-05-26 18:48:04 +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: Use uint64_t for shifting left in sign_extend and strunc 2019-10-24 16:21:01 +02:00
fast_idiv_by_const.h util: document a limitation of util_fast_udiv32 2018-10-17 12:27:58 -04:00
fast_urem_by_const.h util: Add a helper for faster remainders 2019-05-31 19:14:27 +02:00
format_r11g11b10f.h util: consistently use ifndef guards over pragma once 2017-03-22 16:55:22 +00:00
format_rgb9e5.h util/format: Use explicitly sized types 2016-08-05 09:07:04 -07:00
format_srgb.h util/srgb: Add a float sRGB -> linear helper 2018-04-24 13:41:14 -07:00
format_srgb.py util: initialize float-array with float-literals 2020-01-14 12:00:27 +01:00
fossilize_db.c util/hash_table: do not leak u64 struct key 2021-04-29 12:58:23 +02:00
fossilize_db.h util/fossilize_db: remove compression from foz db helper 2021-03-15 03:34:48 +00:00
futex.h util: futex fixes for OpenBSD 2020-08-31 09:14:57 +00:00
half_float.c gallium/util: remove empty file u_half.h 2020-10-06 21:07:11 -04: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: _mesa_hash_table_create_u32_keys() 2021-05-07 13:14:08 +00:00
hash_table.h util/hash_table: _mesa_hash_table_create_u32_keys() 2021-05-07 13:14:08 +00:00
libsync.h android: Add pre-4.7 Android kernel compatibility to our libsync header. 2020-10-19 18:41:50 +00:00
list.h util/list: use helper function in list_is_singular 2020-12-18 01:46:00 +00:00
log.c mesa: Promote Intel's simple logging façade for Android to util/ 2020-09-28 09:14:44 -07:00
log.h mesa: Promote Intel's simple logging façade for Android to util/ 2020-09-28 09:14:44 -07:00
macros.h macros: Add thread-safety annotation macros 2021-02-18 00:27:49 +00:00
Makefile.sources android: util: create some standalone compression helpers 2021-03-18 01:31:31 +00:00
memstream.c util: Disable memstream for Apple builds 2021-01-08 09:37:14 +00:00
memstream.h util,ac,aco,radv: Cross-platform memstream API 2020-10-19 03:37:42 -07:00
mesa-sha1.c util/mesa_sha1: add helper to reconvert sha1 hex strings 2021-02-21 02:50:45 +00:00
mesa-sha1.h util/mesa_sha1: add helper to reconvert sha1 hex strings 2021-02-21 02:50:45 +00:00
mesa-sha1_test.c util: Add a SHA1 unit test program 2017-11-25 12:30:46 -08:00
meson.build ra: Add a unit test. 2021-06-04 19:08:57 +00:00
os_file.c util: Make os_read_file use O_BINARY on Windows 2021-03-11 23:43:47 +00: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 Fix VMware capitalization. 2020-10-27 15:33:40 -07:00
os_memory_aligned.h util: Add an aligned realloc function 2020-04-21 11:09:03 -07:00
os_memory_debug.h util: move debug_memory_{begin,end} to os_memory_debug.h 2020-02-24 23:07:57 +00:00
os_memory_stdc.h util: Add an aligned realloc function 2020-04-21 11:09:03 -07:00
os_misc.c util: Remove unused Android options_tbl_lock 2021-04-15 16:01:21 +00:00
os_misc.h util: Add os_get_page_size query 2020-12-02 10:12:27 -08:00
os_socket.c util: fix possible fd leaks in os_socket_listen_abstract 2020-07-30 10:41:00 +00:00
os_socket.h util/os_socket: fix header unavailable on windows 2020-02-04 17:33:49 +00:00
os_time.c util/os_time: Safe os_time_get_nano for Windows 2020-11-26 07:58:56 +00:00
os_time.h util: Add os_localtime 2020-12-01 07:11:44 +00:00
process_test.c util/u_process: implement util_get_process_name for Windows 2020-11-12 11:49:12 +00:00
ralloc.c util/ralloc: fix ralloc alignment. 2020-08-21 18:22:21 +00:00
ralloc.h util/ralloc: Add helpers for growing zero-initialized memory 2019-05-14 12:30:22 -05:00
rand_xor.c util/rand_xor: extend the urandom path to all non-Windows platforms 2020-05-16 12:05:37 +00:00
rand_xor.h util/rand_xor: make it clear that {,s_}rand_xorshift128plus take *exactly 2* uint64_t 2020-05-16 12:05:37 +00:00
rb_tree.c util: rb-tree: A simple, invasive, red-black tree 2018-07-05 11:57:45 +01:00
rb_tree.h util/rb_tree: Stop relying on &iter->field != NULL 2019-09-26 20:36:41 +00:00
rb_tree_test.c util/rb_tree: Also test _safe iterators 2019-09-26 20:36:41 +00:00
register_allocate.c util/ra: Use the conflicting neighbor to skip unavailable registers. 2021-06-04 19:08:57 +00: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 ra: Add fast-path support for register classes of contiguous regs. 2021-06-04 19:08:57 +00:00
register_allocate_test.cpp ra: Add fast-path support for register classes of contiguous regs. 2021-06-04 19:08:57 +00:00
rgtc.c util: move shared rgtc code to util (v2) 2014-09-17 11:27:25 +10:00
rgtc.h util: move shared rgtc code to util (v2) 2014-09-17 11:27:25 +10:00
roundeven_test.c util: Add a roundeven test. 2015-03-18 21:06:26 -07:00
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 util: Fix rwlock Windows include for MinGW 2020-10-20 08:33:42 +00:00
set.c util/set: add macro for destructively iterating set entries 2021-04-07 22:57:27 +00:00
set.h util/set: add macro for destructively iterating set entries 2021-04-07 22:57:27 +00:00
simple_list.h mesa: Port a variant of 68afbe89c7 to util/ 2015-01-28 16:33:34 -08:00
simple_mtx.h util: Add helgrind support for simple_mtx 2020-11-24 21:03:34 +00:00
slab.c util/slab: do not dereference NULL-pointer 2020-12-01 18:03:31 +00:00
slab.h util/slab: allow usage from c++ code 2020-11-10 15:37:07 +00:00
softfloat.c softfloat: Silence a warning at -Og 2021-02-18 20:59:43 +00:00
softfloat.h util: implement F16C using inline assembly on x86_64 2020-10-06 21:07:03 -04:00
sparse_array.c util/sparse_free_list: manipulate node pointers using atomic primitives 2020-04-18 12:18:03 +00:00
sparse_array.h util/sparse_array: Stash the node level in the node pointer 2020-03-20 15:31:10 -05:00
string_buffer.c util: use standard name for vsnprintf() 2019-07-19 22:39:38 +01:00
string_buffer.h util: Add a string buffer implementation 2017-09-26 18:24:33 +02:00
strndup.h util/strndup: move header inclusion as applicable 2017-03-22 16:55:23 +00:00
strtod.c util: improve compiler guard 2017-09-03 09:05:23 +01:00
strtod.h mesa/main: free locale at exit 2015-06-29 09:06:40 -07:00
texcompress_rgtc_tmp.h util: move shared rgtc code to util (v2) 2014-09-17 11:27:25 +10:00
timespec.h lavapipe: fix usleep usage in lvp_device 2020-10-27 21:05:55 +00:00
u_atomic.c util/u_atomic: remove unnecessaty __atomic functions 2017-09-22 17:12:24 +03:00
u_atomic.h util: Use explicit relaxed reads for u_queue 2021-01-28 18:07:09 +00:00
u_atomic_test.c util: fix comment typo 2015-12-04 14:06:41 +00:00
u_cpu_detect.c util: fix (re-enable) L3 cache pinning 2021-05-04 01:02:07 -04:00
u_cpu_detect.h util: fix (re-enable) L3 cache pinning 2021-05-04 01:02:07 -04:00
u_debug.c util: add a env getter for versions 2020-11-11 06:08:15 +10:00
u_debug.h util: Add helper to get FILE* options 2020-12-03 21:19:57 +00:00
u_debug_memory.c util: move debug_memory_{begin,end} to os_memory_debug.h 2020-02-24 23:07:57 +00:00
u_debug_stack.c util: Fix pointer to integer conversion error when using libunwind 2021-01-15 20:00:20 +00:00
u_debug_stack.h gallium/android: Rewrite backtrace helper for android 2020-08-05 18:08:06 +00:00
u_debug_stack_android.cpp gallium/android: Rewrite backtrace helper for android 2020-08-05 18:08:06 +00:00
u_debug_stack_test.cpp u_debug_stack_test: Fix MSVC compiling by using ATTRIBUTE_NOINLINE 2020-08-13 23:18:36 +00:00
u_debug_symbol.c util: Move stack debug functions to src/util 2020-08-05 18:08:06 +00:00
u_debug_symbol.h util: Move stack debug functions to src/util 2020-08-05 18:08:06 +00:00
u_drm.h util: Add a drm_find_modifier helper 2019-03-14 22:41:08 +00:00
u_dynarray.h u_dynarray: turn util_dynarray_{grow, resize} into element-oriented macros 2019-06-12 18:30:25 -04:00
u_endian.h util: unbreak endian detection on OpenBSD 2020-08-31 09:14:57 +00:00
u_idalloc.c util: add thread-safe version of idalloc 2021-05-17 10:37:24 +00:00
u_idalloc.h util: add thread-safe version of idalloc 2021-05-17 10:37:24 +00:00
u_math.c tgsi_exec: Garbage-collect the FAST_MATH path. 2021-06-04 17:26:28 +00:00
u_math.h u_math: Reduce fast-log2 table size from 65k entries back to 256. 2021-06-04 17:26:28 +00:00
u_memory.h util: Add an aligned realloc function 2020-04-21 11:09:03 -07:00
u_memset.h util: add optimised memset64 2021-02-22 00:30:46 +00:00
u_mm.c util: don't include p_defines.h and u_pointer.h from gallium 2020-03-27 21:00:10 +00:00
u_mm.h mesa/main/util: moving gallium u_mm to util, remove main/mm 2019-12-02 13:59:28 +01: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.cpp util: add printf specifier shared helper code. 2020-12-29 09:07:23 +10:00
u_printf.h util: add printf specifier shared helper code. 2020-12-29 09:07:23 +10:00
u_process.c util: implement GET_PROGRAM_NAME for Haiku 2021-01-09 20:51:03 -06:00
u_process.h util/u_process: add util_get_process_exec_path 2020-03-24 08:30:34 +01:00
u_queue.c util/queue: don't require a fence when adding a job 2021-05-14 06:49:31 +00:00
u_queue.h util: Use explicit relaxed reads for u_queue 2021-01-28 18:07:09 +00:00
u_string.h util: fix gcc vsnprintf overflow 2021-02-19 11:05:38 +00:00
u_thread.h android: Fix ELF TLS support. 2021-06-02 03:10:49 +00:00
u_vector.c util: Use util_is_power_of_two_nonzero in u_vector 2018-03-29 14:09:28 -07:00
u_vector.h util: Promote __builtin_types_compatible_p compat 2020-12-10 16:48:36 +00:00
vma.c util/vma: Add a debug print helper 2020-05-13 23:36:44 +00:00
vma.h util/vma: Add a debug print helper 2020-05-13 23:36:44 +00:00
xmlconfig.c xmlconfig: Fix MSVC warning C4334 (32bit shift cast to 64bit) 2021-04-20 00:28:35 +00:00
xmlconfig.h xmlconfig: Disable WITH_XMLCONFIG on Windows 2020-12-14 17:28:04 +00:00
xxd.py util/xxd.py: Add an option for binary files 2020-10-07 21:52:04 +00:00
xxhash.h xxhash: update fallthrough comments 2020-12-01 10:04:41 +01:00