Module: Mesa
Branch: main
Commit: a6f932639a9d09166893d87ed9142c9c7739a40a
URL:    
http://cgit.freedesktop.org/mesa/mesa/commit/?id=a6f932639a9d09166893d87ed9142c9c7739a40a

Author: Mike Blumenkrantz <[email protected]>
Date:   Thu Jan 12 14:27:19 2023 -0500

zink: simplify some dynarray concat descriptor code

TIL this exists

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681>

---

 src/gallium/drivers/zink/zink_descriptors.c | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_descriptors.c 
b/src/gallium/drivers/zink/zink_descriptors.c
index 765d758c35c..378bcc13e1e 100644
--- a/src/gallium/drivers/zink/zink_descriptors.c
+++ b/src/gallium/drivers/zink/zink_descriptors.c
@@ -1254,15 +1254,9 @@ consolidate_pool_alloc(struct zink_screen *screen, 
struct zink_descriptor_pool_m
    if (!mpool->overflowed_pools[mpool->overflow_idx].size)
       return;
 
-   unsigned old_size = mpool->overflowed_pools[!mpool->overflow_idx].size;
-   if (util_dynarray_resize(&mpool->overflowed_pools[!mpool->overflow_idx], 
struct zink_descriptor_pool*, sizes[0] + sizes[1])) {
-      /* attempt to consolidate all the overflow into one array to maximize 
reuse */
-      uint8_t *src = mpool->overflowed_pools[mpool->overflow_idx].data;
-      uint8_t *dst = mpool->overflowed_pools[!mpool->overflow_idx].data;
-      dst += old_size;
-      memcpy(dst, src, mpool->overflowed_pools[mpool->overflow_idx].size);
-      util_dynarray_clear(&mpool->overflowed_pools[mpool->overflow_idx]);
-   }
+   /* attempt to consolidate all the overflow into one array to maximize reuse 
*/
+   
util_dynarray_append_dynarray(&mpool->overflowed_pools[!mpool->overflow_idx], 
&mpool->overflowed_pools[mpool->overflow_idx]);
+   util_dynarray_clear(&mpool->overflowed_pools[mpool->overflow_idx]);
 }
 
 /* called when a batch state is reset, i.e., just before a batch state becomes 
the current state */

Reply via email to