mesa/src/util
Dmitry Osipenko 6c1c5d9ef0 util/disk_cache: Fix rw cache lookup when using combined ro+rw caches
When combining of ro+rw caches is enabled, at first the ro cache should be
looked up and if data isn't found there then rw cache should be checked.
The rw cache checking got lost by accident after the code rebase and there
was no unit test covering this condition. Fix the rw cache looking up and
add the unit test case.

Fixes: 32fe60e8c4 ("util/disk_cache: Support combined foz ro and non-foz rw caches")
Reviewed-by: Timothy Arceri <tarceri@itsqueeze.com>
Reviewed-by: Juston Li <justonli@google.com>
Signed-off-by: Dmitry Osipenko <dmitry.osipenko@collabora.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20595>
2023-01-10 04:53:44 +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/disk_cache: Fix rw cache lookup when using combined ro+rw caches 2023-01-10 04:53:44 +00:00
tools util/tools: add the tool that generates perfect hash functions for GLenums 2022-12-18 14:35:59 -05:00
00-mesa-defaults.conf util/driconf: add Dune: Spice Wars workaround 2023-01-10 03:53:19 +00:00
00-radv-defaults.conf radv: Add an app layer driconf and use it for Metro Exodus 2023-01-02 14:39:23 +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: Fixes -Wundef in util/compiler.h 2022-11-24 04:33:07 +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 util/disk_cache: Fix rw cache lookup when using combined ro+rw caches 2023-01-10 04:53:44 +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 util/disk_cache: Store environment variable values in disk_cache struct 2023-01-09 12:12:55 +00:00
disk_cache_os.h util/disk_cache: Support combined foz ro and non-foz rw caches 2023-01-09 12:12:55 +00:00
double.c
double.h
driconf.h util/driconf: add Dune: Spice Wars workaround 2023-01-10 03:53:19 +00:00
driconf_static.py driconf: add support for multiple input files in the static script 2022-12-01 16:55:31 +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/disk_cache: Support combined foz ro and non-foz rw caches 2023-01-09 12:12:55 +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: Drop the ENUM_PACKED macro 2023-01-04 01:09:32 +00: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 util: minor refactor _mesa_sha1_print() 2022-12-07 12:59:33 +00:00
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 radv,driconf: fix static driconf by parsing 00-radv-defaults.conf 2022-12-01 16:55:31 +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 util: Fixes os_get_option_cached with bool options_tbl_exited 2022-12-20 01:49:10 +00:00
os_misc.h util: Add function debug_get_option_cached os_get_option_cached 2022-12-16 19:30:19 +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
slab.h
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
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: Fixes thread safety of DEBUG_GET_ONCE_*_OPTION macros 2022-12-16 19:30:19 +00:00
u_debug.h util: Fixes thread safety of DEBUG_GET_ONCE_*_OPTION macros 2022-12-16 19:30:19 +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 util/dynarray: Add an append_array helper 2022-12-01 12:26:27 +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: Move EXCLUSIVE_CACHELINE and CACHE_LINE_SIZE macros into u_memory.h 2022-11-24 06:21:39 +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 util: Fixes -Wundef in u_qsort.h 2022-11-24 04:33:07 +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 util/vma: Add "nospan" 2022-12-17 19:14:12 +00:00
vma.h util/vma: Add "nospan" 2022-12-17 19:14:12 +00:00
xmlconfig.c util/xmlconfig: fix memory leak triggered by duplicates 2022-12-28 14:06:49 +00:00
xmlconfig.h util: Define WITH_XMLCONFIG from Meson 2022-11-23 23:14:10 +00:00
xxd.py
xxhash.h