On 06/07/2016 09:33 AM, Emil Velikov wrote: > From: Emil Velikov <emil.veli...@collabora.com> > > Signed-off-by: Emil Velikov <emil.veli...@collabora.com> > --- > src/mesa/main/context.c | 45 +++++++++++++++++++++------------------------ > 1 file changed, 21 insertions(+), 24 deletions(-) > > diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c > index 894c38a..f8961fc 100644 > --- a/src/mesa/main/context.c > +++ b/src/mesa/main/context.c > @@ -370,44 +370,41 @@ one_time_fini(void) > static void > one_time_init( struct gl_context *ctx ) > { > - static GLbitfield api_init_mask = 0x0; > + static bool initialized = false; > + unsigned i; > > - mtx_lock(&OneTimeLock); > + if (initialized) > + return; > > - /* truly one-time init */ > - if (!api_init_mask) { > - GLuint i; > + mtx_lock(&OneTimeLock); > > - STATIC_ASSERT(sizeof(GLbyte) == 1); > - STATIC_ASSERT(sizeof(GLubyte) == 1); > - STATIC_ASSERT(sizeof(GLshort) == 2); > - STATIC_ASSERT(sizeof(GLushort) == 2); > - STATIC_ASSERT(sizeof(GLint) == 4); > - STATIC_ASSERT(sizeof(GLuint) == 4); > + STATIC_ASSERT(sizeof(GLbyte) == 1); > + STATIC_ASSERT(sizeof(GLubyte) == 1); > + STATIC_ASSERT(sizeof(GLshort) == 2); > + STATIC_ASSERT(sizeof(GLushort) == 2); > + STATIC_ASSERT(sizeof(GLint) == 4); > + STATIC_ASSERT(sizeof(GLuint) == 4); > > - _mesa_locale_init(); > + _mesa_locale_init(); > > - _mesa_one_time_init_extension_overrides(); > + _mesa_one_time_init_extension_overrides(); > > - _mesa_get_cpu_features(); > + _mesa_get_cpu_features(); > > - for (i = 0; i < 256; i++) { > - _mesa_ubyte_to_float_color_tab[i] = (float) i / 255.0F; > - } > + for (i = 0; i < 256; i++) > + _mesa_ubyte_to_float_color_tab[i] = (float) i / 255.0F; > > - atexit(one_time_fini); > + atexit(one_time_fini); > > #if defined(DEBUG) && defined(__DATE__) && defined(__TIME__) > - if (MESA_VERBOSE != 0) { > - _mesa_debug(ctx, "Mesa %s DEBUG build %s %s\n", > - PACKAGE_VERSION, __DATE__, __TIME__); > - } > + if (MESA_VERBOSE != 0) > + _mesa_debug(ctx, "Mesa " PACKAGE_VERSION " DEBUG build %s %s\n", > + __DATE__, __TIME__);
I don't think we should make this change. I seem to recall doing it like this because static analysis tools complain... something about PACKAGE_VERSION could have formatting. I don't fully recall. Either way, it's orthogonal to the rest of the patch. > #endif > - } > > _mesa_init_remap_table(); > > - api_init_mask |= 1 << ctx->API; > + initialized = true; > > mtx_unlock(&OneTimeLock); > } > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev