Mesa (main): radv: Move empty queue submit code path to a separate function.
GitLab Mirror
gitlab-mirror at kemper.freedesktop.org
Tue May 10 08:48:41 UTC 2022
Module: Mesa
Branch: main
Commit: 0c77c94b8e3f637d2a95f854022030b83910dde5
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0c77c94b8e3f637d2a95f854022030b83910dde5
Author: Timur Kristóf <timur.kristof at gmail.com>
Date: Thu May 5 16:02:21 2022 +0200
radv: Move empty queue submit code path to a separate function.
Signed-off-by: Timur Kristóf <timur.kristof at gmail.com>
Reviewed-by: Dave Airlie <airlied at redhat.com>
Reviewed-By: Tatsuyuki Ishi <ishitatsuyuki at gmail.com>
Reviewed-by: Samuel Pitoiset <samuel.pitoiset at gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/16358>
---
src/amd/vulkan/radv_device.c | 17 ++++++++++++-----
1 file changed, 12 insertions(+), 5 deletions(-)
diff --git a/src/amd/vulkan/radv_device.c b/src/amd/vulkan/radv_device.c
index 7326de82f10..39aea2794fd 100644
--- a/src/amd/vulkan/radv_device.c
+++ b/src/amd/vulkan/radv_device.c
@@ -4539,6 +4539,17 @@ radv_queue_submit_bind_sparse_memory(struct radv_device *device, struct vk_queue
return VK_SUCCESS;
}
+static VkResult
+radv_queue_submit_empty(struct radv_queue *queue, struct vk_queue_submit *submission)
+{
+ struct radeon_winsys_ctx *ctx = queue->hw_ctx;
+ enum amd_ip_type ring = radv_queue_ring(queue);
+
+ return queue->device->ws->cs_submit(ctx, ring, queue->vk.index_in_family, NULL, 0, NULL, NULL,
+ submission->wait_count, submission->waits,
+ submission->signal_count, submission->signals, false);
+}
+
static VkResult
radv_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission)
{
@@ -4567,11 +4578,7 @@ radv_queue_submit(struct vk_queue *vqueue, struct vk_queue_submit *submission)
return VK_SUCCESS;
if (!submission->command_buffer_count) {
- result = queue->device->ws->cs_submit(ctx, ring, queue->vk.index_in_family, NULL, 0, NULL,
- NULL, submission->wait_count, submission->waits,
- submission->signal_count, submission->signals, false);
- if (result != VK_SUCCESS)
- goto fail;
+ result = radv_queue_submit_empty(queue, submission);
} else {
if (queue->device->trace_bo)
simple_mtx_lock(&queue->device->trace_mtx);
More information about the mesa-commit
mailing list