From 57ac68f616675e5a1bc46660f3e26be57634bb21 Mon Sep 17 00:00:00 2001 From: Timothy Arceri Date: Tue, 16 Sep 2025 11:45:24 +1000 Subject: [PATCH] util: add shortcut for range remap inserts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The user of this insert function often just inserts things in a consecutive manner. So here we add a shortcut for inserting entries at the tail of the list. Fixes: bf946bccf2d8 ("util: add range remap util") Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/13894 Acked-by: Marek Olšák Part-of: --- src/util/u_range_remap.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/util/u_range_remap.c b/src/util/u_range_remap.c index c9885b62e7a..edf5a262c8c 100644 --- a/src/util/u_range_remap.c +++ b/src/util/u_range_remap.c @@ -89,6 +89,15 @@ util_range_insert_remap(unsigned start, unsigned end, goto insert_end; } + /* Shortcut for consecutive location inserts */ + struct range_entry *last_entry = + list_last_entry(r_list, struct range_entry, node); + if (last_entry->end < start) { + entry = rzalloc(r_list, struct range_entry); + list_addtail(&entry->node, r_list); + goto insert_end; + } + unsigned low = 0; unsigned high = list_length(r_list) - 1;