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 */
