mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-21 21:58:10 +02:00
This is a simple, invasive, liberally licensed red-black tree implementation. It's an invasive data structure similar to the Linux kernel linked-list where the intention is that you embed a rb_node struct the data structure you intend to put into the tree. The implementation is mostly based on the one in "Introduction to Algorithms", third edition, by Cormen, Leiserson, Rivest, and Stein. There were a few other key design points: * It's an invasive data structure similar to the [Linux kernel linked list]. * It uses NULL for leaves instead of a sentinel. This means a few algorithms differ a small bit from the ones in "Introduction to Algorithms". * All search operations are inlined so that the compiler can optimize away the function pointer call. Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
72 lines
1,013 B
Text
72 lines
1,013 B
Text
MESA_UTIL_FILES := \
|
|
bitscan.c \
|
|
bitscan.h \
|
|
bitset.h \
|
|
build_id.c \
|
|
build_id.h \
|
|
crc32.c \
|
|
crc32.h \
|
|
debug.c \
|
|
debug.h \
|
|
disk_cache.c \
|
|
disk_cache.h \
|
|
format_r11g11b10f.h \
|
|
format_rgb9e5.h \
|
|
format_srgb.h \
|
|
futex.h \
|
|
half_float.c \
|
|
half_float.h \
|
|
hash_table.c \
|
|
hash_table.h \
|
|
list.h \
|
|
macros.h \
|
|
mesa-sha1.c \
|
|
mesa-sha1.h \
|
|
os_time.c \
|
|
os_time.h \
|
|
process.c \
|
|
process.h \
|
|
sha1/sha1.c \
|
|
sha1/sha1.h \
|
|
ralloc.c \
|
|
ralloc.h \
|
|
rand_xor.c \
|
|
rand_xor.h \
|
|
rb_tree.c \
|
|
rb_tree.h \
|
|
register_allocate.c \
|
|
register_allocate.h \
|
|
rgtc.c \
|
|
rgtc.h \
|
|
rounding.h \
|
|
set.c \
|
|
set.h \
|
|
simple_list.h \
|
|
simple_mtx.h \
|
|
slab.c \
|
|
slab.h \
|
|
string_buffer.c \
|
|
string_buffer.h \
|
|
strndup.h \
|
|
strtod.c \
|
|
strtod.h \
|
|
texcompress_rgtc_tmp.h \
|
|
u_atomic.c \
|
|
u_atomic.h \
|
|
u_dynarray.h \
|
|
u_endian.h \
|
|
u_queue.c \
|
|
u_queue.h \
|
|
u_string.h \
|
|
u_thread.h \
|
|
u_vector.c \
|
|
u_vector.h \
|
|
vma.c \
|
|
vma.h
|
|
|
|
MESA_UTIL_GENERATED_FILES = \
|
|
format_srgb.c
|
|
|
|
XMLCONFIG_FILES := \
|
|
xmlconfig.c \
|
|
xmlconfig.h
|