zink: use screen destructor for creation fails
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 11 Oct 2023 16:16:52 +0000 (12:16 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 17 Oct 2023 22:43:54 +0000 (22:43 +0000)
this should be more robust

fixes https://github.com/pal1000/mesa-dist-win/issues/155

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

src/gallium/drivers/zink/zink_screen.c

index be887de..d03998f 100644 (file)
@@ -3508,12 +3508,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
    return screen;
 
 fail:
-   if (screen->loader_lib)
-      util_dl_close(screen->loader_lib);
-   if (screen->threaded_submit)
-      util_queue_destroy(&screen->flush_queue);
-
-   ralloc_free(screen);
+   zink_destroy_screen(&screen->base);
    return NULL;
 }