From 8d0eaf97db626b7f593272368ba35f646af07668 Mon Sep 17 00:00:00 2001 From: Mike Blumenkrantz Date: Fri, 13 Oct 2023 08:41:57 -0400 Subject: [PATCH] zink: rework cmdbuf submission to be more extensible no functional changes Part-of: --- src/gallium/drivers/zink/zink_batch.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 9c504687625..f5e7ba45bd8 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -612,12 +612,13 @@ submit_queue(void *data, void *gdata, int thread_index) si[ZINK_SUBMIT_CMDBUF].waitSemaphoreCount = util_dynarray_num_elements(&bs->wait_semaphores, VkSemaphore); si[ZINK_SUBMIT_CMDBUF].pWaitSemaphores = bs->wait_semaphores.data; si[ZINK_SUBMIT_CMDBUF].pWaitDstStageMask = bs->wait_semaphore_stages.data; - si[ZINK_SUBMIT_CMDBUF].commandBufferCount = bs->has_barriers ? 2 : 1; - VkCommandBuffer cmdbufs[2] = { - bs->reordered_cmdbuf, - bs->cmdbuf, - }; - si[ZINK_SUBMIT_CMDBUF].pCommandBuffers = bs->has_barriers ? cmdbufs : &cmdbufs[1]; + VkCommandBuffer cmdbufs[2]; + unsigned c = 0; + if (bs->has_barriers) + cmdbufs[c++] = bs->reordered_cmdbuf; + cmdbufs[c++] = bs->cmdbuf; + si[ZINK_SUBMIT_CMDBUF].pCommandBuffers = cmdbufs; + si[ZINK_SUBMIT_CMDBUF].commandBufferCount = c; /* assorted signal submit from wsi/externals */ si[ZINK_SUBMIT_CMDBUF].signalSemaphoreCount = util_dynarray_num_elements(&bs->signal_semaphores, VkSemaphore); si[ZINK_SUBMIT_CMDBUF].pSignalSemaphores = bs->signal_semaphores.data;