zink: add a util function for creating semaphores
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Mon, 19 Sep 2022 20:12:57 +0000 (16:12 -0400)
committerMarge Bot <emma+marge@anholt.net>
Thu, 19 Jan 2023 20:26:44 +0000 (20:26 +0000)
annoying to keep copy/pasting this around

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/20681>

src/gallium/drivers/zink/zink_screen.c
src/gallium/drivers/zink/zink_screen.h

index ca0be95..2ab4e70 100644 (file)
@@ -2511,6 +2511,19 @@ zink_get_disk_shader_cache(struct pipe_screen *_screen)
    return screen->disk_cache;
 }
 
+VkSemaphore
+zink_create_semaphore(struct zink_screen *screen)
+{
+   VkSemaphoreCreateInfo sci = {
+      VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO,
+      NULL,
+      0
+   };
+   VkSemaphore sem = VK_NULL_HANDLE;
+   VkResult ret = VKSCR(CreateSemaphore)(screen->dev, &sci, NULL, &sem);
+   return ret == VK_SUCCESS ? sem : VK_NULL_HANDLE;
+}
+
 static struct zink_screen *
 zink_internal_create_screen(const struct pipe_screen_config *config)
 {
index e678eb4..1eed13c 100644 (file)
@@ -96,6 +96,9 @@ zink_screen_handle_vkresult(struct zink_screen *screen, VkResult ret)
    return success;
 }
 
+VkSemaphore
+zink_create_semaphore(struct zink_screen *screen);
+
 VkFormat
 zink_get_format(struct zink_screen *screen, enum pipe_format format);