mesa/st: Use do_once for one-time init
authorRob Clark <robdclark@chromium.org>
Mon, 23 Nov 2020 22:30:32 +0000 (14:30 -0800)
committerMarge Bot <eric+marge@anholt.net>
Tue, 24 Nov 2020 21:03:34 +0000 (21:03 +0000)
Also, since there is a second call-path into st_init_extensions() from
get_version(), add an extra st_debug_init() call.

Signed-off-by: Rob Clark <robdclark@chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg@google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7644>

src/mesa/state_tracker/st_debug.c
src/mesa/state_tracker/st_extensions.c

index 4505d2b..711af37 100644 (file)
@@ -68,7 +68,9 @@ DEBUG_GET_ONCE_FLAGS_OPTION(st_debug, "ST_DEBUG", st_debug_flags, 0)
 void
 st_debug_init(void)
 {
-   ST_DEBUG = debug_get_option_st_debug();
+   do_once {
+      ST_DEBUG = debug_get_option_st_debug();
+   }
 }
 
 
index 81d3000..68c9487 100644 (file)
@@ -1040,6 +1040,8 @@ void st_init_extensions(struct pipe_screen *screen,
         } },
    };
 
+   st_debug_init();
+
    /*
     * Extensions that are supported by all Gallium drivers:
     */