From 0e4266260aed177d0e160f90f5180685d9167099 Mon Sep 17 00:00:00 2001 From: Jason Ekstrand Date: Thu, 23 Sep 2021 12:40:19 -0500 Subject: [PATCH] vulkan/device: Add a common DeviceWaitIdle implementation Reviewed-by: Lionel Landwerlin Part-of: --- src/vulkan/util/vk_device.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/vulkan/util/vk_device.c b/src/vulkan/util/vk_device.c index d3ac4df..256659f 100644 --- a/src/vulkan/util/vk_device.c +++ b/src/vulkan/util/vk_device.c @@ -295,6 +295,21 @@ vk_common_GetImageSparseMemoryRequirements(VkDevice _device, STACK_ARRAY_FINISH(mem_reqs2); } +VKAPI_ATTR VkResult VKAPI_CALL +vk_common_DeviceWaitIdle(VkDevice _device) +{ + VK_FROM_HANDLE(vk_device, device, _device); + const struct vk_device_dispatch_table *disp = &device->dispatch_table; + + vk_foreach_queue(queue, device) { + VkResult result = disp->QueueWaitIdle(vk_queue_to_handle(queue)); + if (result != VK_SUCCESS) + return result; + } + + return VK_SUCCESS; +} + static void copy_vk_struct_guts(VkBaseOutStructure *dst, VkBaseInStructure *src, size_t struct_size) { -- 2.7.4