mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 22:00:13 +01:00
i965: don't require 64bit cmpxchg
There are still some distributions trying to support unfortunate people with old or exotic CPUs that don't have 64bit atomic operations. The only thing preventing compile of the Intel driver for them seems to be initialization of a debug variable. v2: use call_once() instead of unsafe code, as suggested by Matt Turner Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=93089 Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
This commit is contained in:
parent
290d7e892d
commit
b384c23b9e
1 changed files with 11 additions and 3 deletions
|
|
@ -33,8 +33,8 @@
|
||||||
|
|
||||||
#include "common/gen_debug.h"
|
#include "common/gen_debug.h"
|
||||||
#include "util/macros.h"
|
#include "util/macros.h"
|
||||||
#include "util/u_atomic.h" /* for p_atomic_cmpxchg */
|
|
||||||
#include "util/debug.h"
|
#include "util/debug.h"
|
||||||
|
#include "c11/threads.h"
|
||||||
|
|
||||||
uint64_t INTEL_DEBUG = 0;
|
uint64_t INTEL_DEBUG = 0;
|
||||||
|
|
||||||
|
|
@ -101,9 +101,17 @@ intel_debug_flag_for_shader_stage(gl_shader_stage stage)
|
||||||
return flags[stage];
|
return flags[stage];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
brw_process_intel_debug_variable_once(void)
|
||||||
|
{
|
||||||
|
INTEL_DEBUG = parse_debug_string(getenv("INTEL_DEBUG"), debug_control);
|
||||||
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
brw_process_intel_debug_variable(void)
|
brw_process_intel_debug_variable(void)
|
||||||
{
|
{
|
||||||
uint64_t intel_debug = parse_debug_string(getenv("INTEL_DEBUG"), debug_control);
|
static once_flag process_intel_debug_variable_flag = ONCE_FLAG_INIT;
|
||||||
(void) p_atomic_cmpxchg(&INTEL_DEBUG, 0, intel_debug);
|
|
||||||
|
call_once(&process_intel_debug_variable_flag,
|
||||||
|
brw_process_intel_debug_variable_once);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue