zink: Factor out zink_get_loader_version()
authorAdam Jackson <ajax@redhat.com>
Tue, 8 Dec 2020 22:02:47 +0000 (17:02 -0500)
committerMarge Bot <eric+marge@anholt.net>
Tue, 15 Dec 2020 17:20:13 +0000 (17:20 +0000)
This result isn't actually used within zink_create_instance, so don't do
it there.

Reviewed-By: Mike Blumenkrantz <michael.blumenkrantz@gmail.com>
Reviewed-by: Hoe Hao Cheng <haochengho12907@gmail.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/8019>

src/gallium/drivers/zink/zink_instance.py
src/gallium/drivers/zink/zink_screen.c

index c24903a..918f97f 100644 (file)
@@ -87,18 +87,6 @@ zink_create_instance(struct zink_screen *screen)
    bool have_moltenvk = false;
 #endif
 
-   screen->loader_version = VK_API_VERSION_1_0;
-   {
-      // Get the Loader version
-      GET_PROC_ADDR_INSTANCE_LOCAL(NULL, EnumerateInstanceVersion);
-      if (vk_EnumerateInstanceVersion) {
-         uint32_t loader_version_temp = VK_API_VERSION_1_0;
-         if (VK_SUCCESS == (*vk_EnumerateInstanceVersion)(&loader_version_temp)) {
-            screen->loader_version = loader_version_temp;
-         }
-      }
-   }
-
    // Build up the extensions from the reported ones but only for the unnamed layer
    uint32_t extension_count = 0;
    if (vkEnumerateInstanceExtensionProperties(NULL, &extension_count, NULL) == VK_SUCCESS) {
index 42c50f7..2d2c0aa 100644 (file)
@@ -925,6 +925,24 @@ check_device_needs_mesa_wsi(struct zink_screen *screen)
    }
 }
 
+static uint32_t
+zink_get_loader_version(void)
+{
+
+   uint32_t loader_version = VK_API_VERSION_1_0;
+
+   // Get the Loader version
+   GET_PROC_ADDR_INSTANCE_LOCAL(NULL, EnumerateInstanceVersion);
+   if (vk_EnumerateInstanceVersion) {
+      uint32_t loader_version_temp = VK_API_VERSION_1_0;
+      if (VK_SUCCESS == (*vk_EnumerateInstanceVersion)(&loader_version_temp)) {
+         loader_version = loader_version_temp;
+      }
+   }
+
+   return loader_version;
+}
+
 static struct zink_screen *
 zink_internal_create_screen(const struct pipe_screen_config *config)
 {
@@ -934,6 +952,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config)
 
    zink_debug = debug_get_option_zink_debug();
 
+   screen->loader_version = zink_get_loader_version();
    screen->instance = zink_create_instance(screen);
    if (!screen->instance)
       goto fail;