diff options
author | Chad Versace <chadversary@chromium.org> | 2022-10-11 19:00:46 -0700 |
---|---|---|
committer | Chad Versace <chadversary@chromium.org> | 2022-10-12 16:59:20 -0700 |
commit | 7daedd2a305469eacecea892998d5ec88d1e6496 (patch) | |
tree | ed40a74698cb1dd55e9e64ee33dfeb5a595ac7ec | |
parent | cc1407df442627c2b99842aefc3d2456193d6f82 (diff) |
venus: Add vn_queue_wait_idle_before_present()
Trivial refactor.
Signed-off-by: Chad Versace <chadversary@chromium.org>
Reviewed-by: Yiwei Zhang <zzyiwei@chromium.org>
Reviewed-by: Ryan Neph <ryanneph@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/19046>
-rw-r--r-- | src/virtio/vulkan/vn_queue.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/virtio/vulkan/vn_queue.c b/src/virtio/vulkan/vn_queue.c index 1f102c78323..2844863fba7 100644 --- a/src/virtio/vulkan/vn_queue.c +++ b/src/virtio/vulkan/vn_queue.c @@ -441,6 +441,21 @@ vn_queue_submit(struct vn_instance *instance, return VK_SUCCESS; } +static void +vn_queue_wait_idle_before_present(struct vn_queue *queue) +{ + struct vn_instance *instance = queue->device->instance; + VkQueue queue_h = vn_queue_to_handle(queue); + + if (VN_DEBUG(WSI)) { + static uint32_t ratelimit = 0; + if (ratelimit++ < 10) + vn_log(instance, "forcing vkQueueWaitIdle before presenting"); + } + + vn_QueueWaitIdle(queue_h); +} + VkResult vn_QueueSubmit(VkQueue queue_h, uint32_t submitCount, @@ -501,16 +516,7 @@ vn_QueueSubmit(VkQueue queue_h, .bo_count = 1, }); } else { - if (VN_DEBUG(WSI)) { - static uint32_t ratelimit; - if (ratelimit < 10) { - vn_log(dev->instance, - "forcing vkQueueWaitIdle before presenting"); - ratelimit++; - } - } - - vn_QueueWaitIdle(submit.queue); + vn_queue_wait_idle_before_present(queue); } } |