From f71f5cf8562da4d13d5eb9220edecb6dad5b8ccf Mon Sep 17 00:00:00 2001 From: Mary Guillemard Date: Fri, 3 Nov 2023 12:23:25 +0100 Subject: [PATCH] venus: skip bind sparse info when checking for feedback query Fix an assertion when using vkQueueBindSparse. Fixes: 7fbf608f2da ("venus: append query feedback at submission time") Signed-off-by: Mary Guillemard Reviewed-by: Juston Li Part-of: --- src/virtio/vulkan/vn_queue.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c index fd1ad4e23ae..57c0670f24e 100644 --- a/src/virtio/vulkan/vn_queue.c +++ b/src/virtio/vulkan/vn_queue.c @@ -270,12 +270,15 @@ vn_queue_submission_count_batch_feedback(struct vn_queue_submission *submit, } bool batch_has_feedback_query = false; - uint32_t cmd_count = vn_get_cmd_buffer_count(submit, batch_index); - for (uint32_t i = 0; i < cmd_count; i++) { - struct vn_command_buffer *cmd = vn_command_buffer_from_handle( - vn_get_cmd_handle(submit, batch_index, i)); - if (!list_is_empty(&cmd->builder.query_batches)) - batch_has_feedback_query = true; + + if (submit->batch_type != VK_STRUCTURE_TYPE_BIND_SPARSE_INFO) { + uint32_t cmd_count = vn_get_cmd_buffer_count(submit, batch_index); + for (uint32_t i = 0; i < cmd_count; i++) { + struct vn_command_buffer *cmd = vn_command_buffer_from_handle( + vn_get_cmd_handle(submit, batch_index, i)); + if (!list_is_empty(&cmd->builder.query_batches)) + batch_has_feedback_query = true; + } } if (batch_has_feedback_query)