Module: Mesa Branch: main Commit: 0e4266260aed177d0e160f90f5180685d9167099 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e4266260aed177d0e160f90f5180685d9167099
Author: Jason Ekstrand <[email protected]> Date: Thu Sep 23 12:40:19 2021 -0500 vulkan/device: Add a common DeviceWaitIdle implementation Reviewed-by: Lionel Landwerlin <[email protected]> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/13003> --- 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 d3ac4df0e18..256659fc454 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) {
