mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-01-08 21:30:23 +01:00
vtn: Move initialization of mesa_spirv_debug to a helper
Importantly, this gives us a single once_flag instead of two so we actually only initialize it once. This race will probably never matter in practice because it's just a debug var but this is cleaner. Reviewed-by: Jesse Natalie <jenatali@microsoft.com> Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/30875>
This commit is contained in:
parent
d8644a533e
commit
ee7b596abc
1 changed files with 16 additions and 12 deletions
|
|
@ -212,6 +212,20 @@ static const struct debug_named_value mesa_spirv_debug_control[] = {
|
|||
|
||||
DEBUG_GET_ONCE_FLAGS_OPTION(mesa_spirv_debug, "MESA_SPIRV_DEBUG", mesa_spirv_debug_control, 0)
|
||||
|
||||
/* DO NOT CALL THIS FUNCTION DIRECTLY. Use mesa_spirv_debug_init() instead */
|
||||
static void
|
||||
initialize_mesa_spirv_debug(void)
|
||||
{
|
||||
mesa_spirv_debug = debug_get_option_mesa_spirv_debug();
|
||||
}
|
||||
|
||||
static void
|
||||
mesa_spirv_debug_init(void)
|
||||
{
|
||||
static once_flag initialized_debug_flag = ONCE_FLAG_INIT;
|
||||
call_once(&initialized_debug_flag, initialize_mesa_spirv_debug);
|
||||
}
|
||||
|
||||
static enum nir_spirv_debug_level
|
||||
vtn_default_log_level(void)
|
||||
{
|
||||
|
|
@ -6823,14 +6837,6 @@ can_remove(nir_variable *var, void *data)
|
|||
return !_mesa_set_search(vars_used_indirectly, var);
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
static void
|
||||
initialize_mesa_spirv_debug(void)
|
||||
{
|
||||
mesa_spirv_debug = debug_get_option_mesa_spirv_debug();
|
||||
}
|
||||
#endif
|
||||
|
||||
nir_shader *
|
||||
spirv_to_nir(const uint32_t *words, size_t word_count,
|
||||
struct nir_spirv_specialization *spec, unsigned num_spec,
|
||||
|
|
@ -6840,8 +6846,7 @@ spirv_to_nir(const uint32_t *words, size_t word_count,
|
|||
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
static once_flag initialized_debug_flag = ONCE_FLAG_INIT;
|
||||
call_once(&initialized_debug_flag, initialize_mesa_spirv_debug);
|
||||
mesa_spirv_debug_init();
|
||||
#endif
|
||||
|
||||
const uint32_t *word_end = words + word_count;
|
||||
|
|
@ -7219,8 +7224,7 @@ spirv_library_to_nir_builder(FILE *fp, const uint32_t *words, size_t word_count,
|
|||
const struct spirv_to_nir_options *options)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
static once_flag initialized_debug_flag = ONCE_FLAG_INIT;
|
||||
call_once(&initialized_debug_flag, initialize_mesa_spirv_debug);
|
||||
mesa_spirv_debug_init();
|
||||
#endif
|
||||
|
||||
const uint32_t *word_end = words + word_count;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue