Mesa (master): mesa/st: Use do_once for one-time init

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 24 21:24:54 UTC 2020


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

Author: Rob Clark <robdclark at chromium.org>
Date:   Mon Nov 23 14:30:32 2020 -0800

mesa/st: Use do_once for one-time init

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 at chromium.org>
Reviewed-by: Kristian H. Kristensen <hoegsberg at google.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7644>

---

 src/mesa/state_tracker/st_debug.c      | 4 +++-
 src/mesa/state_tracker/st_extensions.c | 2 ++
 2 files changed, 5 insertions(+), 1 deletion(-)

diff --git a/src/mesa/state_tracker/st_debug.c b/src/mesa/state_tracker/st_debug.c
index 4505d2b8e10..711af37a339 100644
--- a/src/mesa/state_tracker/st_debug.c
+++ b/src/mesa/state_tracker/st_debug.c
@@ -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();
+   }
 }
 
 
diff --git a/src/mesa/state_tracker/st_extensions.c b/src/mesa/state_tracker/st_extensions.c
index 81d3000be1e..68c9487a848 100644
--- a/src/mesa/state_tracker/st_extensions.c
+++ b/src/mesa/state_tracker/st_extensions.c
@@ -1040,6 +1040,8 @@ void st_init_extensions(struct pipe_screen *screen,
         } },
    };
 
+   st_debug_init();
+
    /*
     * Extensions that are supported by all Gallium drivers:
     */



More information about the mesa-commit mailing list