Mesa (master): zink: add a GET_PROC_ADDR macro to simplify load_device_extensions

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Mon May 11 09:21:42 UTC 2020


Module: Mesa
Branch: master
Commit: 5c7dea394fc21d455cd00dff3d3881276427fc47
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=5c7dea394fc21d455cd00dff3d3881276427fc47

Author: Erik Faye-Lund <erik.faye-lund at collabora.com>
Date:   Fri May  8 12:07:48 2020 +0200

zink: add a GET_PROC_ADDR macro to simplify load_device_extensions

This doesn't do much for now, but it will keep thing cleaner in the next
commit.

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

---

 src/gallium/drivers/zink/zink_screen.c | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/src/gallium/drivers/zink/zink_screen.c b/src/gallium/drivers/zink/zink_screen.c
index fae39c6ec1b..53db925192d 100644
--- a/src/gallium/drivers/zink/zink_screen.c
+++ b/src/gallium/drivers/zink/zink_screen.c
@@ -707,11 +707,16 @@ zink_flush_frontbuffer(struct pipe_screen *pscreen,
 static bool
 load_device_extensions(struct zink_screen *screen)
 {
-   if (screen->have_KHR_external_memory_fd) {
-      screen->vk_GetMemoryFdKHR = (PFN_vkGetMemoryFdKHR)vkGetDeviceProcAddr(screen->dev, "vkGetMemoryFdKHR");
-      if (!screen->vk_GetMemoryFdKHR)
-         return false;
-   }
+#define GET_PROC_ADDR(x) do {                                               \
+      screen->vk_##x = (PFN_vk##x)vkGetDeviceProcAddr(screen->dev, "vk"#x); \
+      if (!screen->vk_##x)                                                  \
+         return false;                                                      \
+   } while (0)
+
+   if (screen->have_KHR_external_memory_fd)
+      GET_PROC_ADDR(GetMemoryFdKHR);
+
+#undef GET_PROC_ADDR
 
    return true;
 }



More information about the mesa-commit mailing list