diff --git a/.pick_status.json b/.pick_status.json index 76502ac3980..01bab5f67ff 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -44,7 +44,7 @@ "description": "zink: clean up semaphore arrays on batch state destroy", "nominated": true, "nomination_type": 0, - "resolution": 0, + "resolution": 1, "main_sha": null, "because_sha": null, "notes": null diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index e774d1f7c5b..b8abb68e53d 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -309,6 +309,11 @@ zink_batch_state_destroy(struct zink_screen *screen, struct zink_batch_state *bs util_dynarray_fini(&bs->bindless_releases[0]); util_dynarray_fini(&bs->bindless_releases[1]); util_dynarray_fini(&bs->acquires); + util_dynarray_fini(&bs->signal_semaphores); + util_dynarray_fini(&bs->wait_semaphores); + util_dynarray_fini(&bs->wait_semaphore_stages); + util_dynarray_fini(&bs->fd_wait_semaphores); + util_dynarray_fini(&bs->fd_wait_semaphore_stages); util_dynarray_fini(&bs->acquire_flags); unsigned num_mfences = util_dynarray_num_elements(&bs->fence.mfences, void *); struct zink_tc_fence **mfence = bs->fence.mfences.data;