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)
 {

Reply via email to