zink: reorder glsl_type_singleton_init_or_ref call
authorMike Blumenkrantz <michael.blumenkrantz@gmail.com>
Wed, 11 Oct 2023 16:16:14 +0000 (12:16 -0400)
committerMarge Bot <emma+marge@anholt.net>
Tue, 17 Oct 2023 22:43:54 +0000 (22:43 +0000)
this enables the screen destructor to be used on failure cases

cc: mesa-stable

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

src/gallium/drivers/zink/zink_screen.c

index 5412704..be887de 100644 (file)
@@ -3105,6 +3105,7 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
       return NULL;
    }
 
+   glsl_type_singleton_init_or_ref();
    zink_debug = debug_get_option_zink_debug();
    if (zink_descriptor_mode == ZINK_DESCRIPTOR_MODE_AUTO)
       zink_descriptor_mode = debug_get_option_zink_descriptor_mode();
@@ -3479,7 +3480,6 @@ zink_internal_create_screen(const struct pipe_screen_config *config, int64_t dev
                                 zink_create_vertex_state, zink_vertex_state_destroy);
    screen->base.create_vertex_state = zink_cache_create_vertex_state;
    screen->base.vertex_state_destroy = zink_cache_vertex_state_destroy;
-   glsl_type_singleton_init_or_ref();
 
    zink_synchronization_init(screen);