From 739b20beda17de57fa4152c91ec77908476c911f Mon Sep 17 00:00:00 2001 From: Yiwei Zhang Date: Thu, 17 Nov 2022 21:43:48 +0000 Subject: [PATCH] venus: fix draw cmd batch accounting Signed-off-by: Yiwei Zhang Part-of: --- src/virtio/vulkan/vn_command_buffer.c | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/virtio/vulkan/vn_command_buffer.c b/src/virtio/vulkan/vn_command_buffer.c index d2334a6e494..b0fc2f810de 100644 --- a/src/virtio/vulkan/vn_command_buffer.c +++ b/src/virtio/vulkan/vn_command_buffer.c @@ -639,6 +639,14 @@ vn_DestroyCommandPool(VkDevice device, vk_free(alloc, pool); } +static void +vn_cmd_reset(struct vn_command_buffer *cmd) +{ + vn_cs_encoder_reset(&cmd->cs); + cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; + cmd->draw_cmd_batched = 0; +} + VkResult vn_ResetCommandPool(VkDevice device, VkCommandPool commandPool, @@ -650,8 +658,7 @@ vn_ResetCommandPool(VkDevice device, list_for_each_entry_safe(struct vn_command_buffer, cmd, &pool->command_buffers, head) { - vn_cs_encoder_reset(&cmd->cs); - cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; + vn_cmd_reset(cmd); } vn_async_vkResetCommandPool(dev->instance, device, commandPool, flags); @@ -763,9 +770,7 @@ vn_ResetCommandBuffer(VkCommandBuffer commandBuffer, struct vn_command_buffer *cmd = vn_command_buffer_from_handle(commandBuffer); - vn_cs_encoder_reset(&cmd->cs); - cmd->state = VN_COMMAND_BUFFER_STATE_INITIAL; - cmd->draw_cmd_batched = 0; + vn_cmd_reset(cmd); vn_async_vkResetCommandBuffer(cmd->device->instance, commandBuffer, flags);