From 03efb6dd27b9ad8aafc8d06a4b8bd338fa850f89 Mon Sep 17 00:00:00 2001 From: Erik Faye-Lund Date: Wed, 10 Jul 2019 12:40:01 +0200 Subject: [PATCH] zink: cleanup zink_end_batch This inlines submit_cmdbuf into zink_end_batch, the only place it's used. This makes the code a bit more straight-forward to read. Acked-by: Jordan Justen --- src/gallium/drivers/zink/zink_batch.c | 37 +++++++++++++---------------------- 1 file changed, 14 insertions(+), 23 deletions(-) diff --git a/src/gallium/drivers/zink/zink_batch.c b/src/gallium/drivers/zink/zink_batch.c index 4744210..1f87e87 100644 --- a/src/gallium/drivers/zink/zink_batch.c +++ b/src/gallium/drivers/zink/zink_batch.c @@ -60,9 +60,19 @@ zink_start_batch(struct zink_context *ctx, struct zink_batch *batch) debug_printf("vkBeginCommandBuffer failed\n"); } -static bool -submit_cmdbuf(struct zink_context *ctx, VkCommandBuffer cmdbuf, VkFence fence) +void +zink_end_batch(struct zink_context *ctx, struct zink_batch *batch) { + if (vkEndCommandBuffer(batch->cmdbuf) != VK_SUCCESS) { + debug_printf("vkEndCommandBuffer failed\n"); + return; + } + + assert(batch->fence == NULL); + batch->fence = zink_create_fence(ctx->base.screen); + if (!batch->fence) + return; + VkPipelineStageFlags wait = VK_PIPELINE_STAGE_ALL_COMMANDS_BIT; VkSubmitInfo si = {}; @@ -73,29 +83,10 @@ submit_cmdbuf(struct zink_context *ctx, VkCommandBuffer cmdbuf, VkFence fence) si.pSignalSemaphores = NULL; si.pWaitDstStageMask = &wait; si.commandBufferCount = 1; - si.pCommandBuffers = &cmdbuf; + si.pCommandBuffers = &batch->cmdbuf; - if (vkQueueSubmit(ctx->queue, 1, &si, fence) != VK_SUCCESS) { + if (vkQueueSubmit(ctx->queue, 1, &si, batch->fence->fence) != VK_SUCCESS) debug_printf("vkQueueSubmit failed\n"); - return false; - } - - return true; -} - -void -zink_end_batch(struct zink_context *ctx, struct zink_batch *batch) -{ - if (vkEndCommandBuffer(batch->cmdbuf) != VK_SUCCESS) { - debug_printf("vkEndCommandBuffer failed\n"); - return; - } - - assert(batch->fence == NULL); - batch->fence = zink_create_fence(ctx->base.screen); - if (!batch->fence || - !submit_cmdbuf(ctx, batch->cmdbuf, batch->fence->fence)) - return; } void -- 2.7.4