Module: Mesa Branch: master Commit: 9db278d0e2b3bf35b28f00ab7ec3392443aae6b3 URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9db278d0e2b3bf35b28f00ab7ec3392443aae6b3
Author: Matt Turner <matts...@gmail.com> Date: Fri Nov 21 18:04:21 2014 -0800 glsl: Initialize static temporaries_allocate_names once per process. Reviewed-by: Jason Ekstrand <jason.ekstr...@intel.com> --- src/glsl/glsl_parser_extras.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp index 27e3301..5772d13 100644 --- a/src/glsl/glsl_parser_extras.cpp +++ b/src/glsl/glsl_parser_extras.cpp @@ -29,6 +29,7 @@ extern "C" { #include "main/core.h" /* for struct gl_context */ #include "main/context.h" #include "main/shaderobj.h" +#include "util/u_atomic.h" /* for p_atomic_cmpxchg */ } #include "util/ralloc.h" @@ -1447,7 +1448,8 @@ _mesa_glsl_compile_shader(struct gl_context *ctx, struct gl_shader *shader, const char *source = shader->Source; if (ctx->Const.GenerateTemporaryNames) - ir_variable::temporaries_allocate_names = true; + (void) p_atomic_cmpxchg(&ir_variable::temporaries_allocate_names, + false, true); state->error = glcpp_preprocess(state, &source, &state->info_log, &ctx->Extensions, ctx); _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit