summaryrefslogtreecommitdiffstats
path: root/src/glsl
diff options
context:
space:
mode:
authorErik Faye-Lund <[email protected]>2015-06-28 14:51:08 +0200
committerMatt Turner <[email protected]>2015-06-29 09:06:40 -0700
commitc61bc6ed844b39e600cc64e3e552c7bf1894d7ba (patch)
tree9339b5149a583451c69d4ddd0117508bd94244ad /src/glsl
parentde3e323be1bdc40a2a7d724d0f3db7a81a93bbbb (diff)
util: port _mesa_strto[df] to C
_mesa_strtod and _mesa_strtof are only used from the GLSL compiler and the ARB_[vertex|fragment]_program code, meaning that the locale doesn't need to be initialized before the first OpenGL context gets initialized. So let's use explicit initialization from the one-time init code instead of depending on a C++ compiler to initialize at image-load time. Signed-off-by: Erik Faye-Lund <[email protected]> Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Brian Paul <[email protected]>
Diffstat (limited to 'src/glsl')
-rw-r--r--src/glsl/glcpp/glcpp.c3
-rw-r--r--src/glsl/main.cpp3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/glsl/glcpp/glcpp.c b/src/glsl/glcpp/glcpp.c
index 5144516a69c..c62f4efec9d 100644
--- a/src/glsl/glcpp/glcpp.c
+++ b/src/glsl/glcpp/glcpp.c
@@ -29,6 +29,7 @@
#include "glcpp.h"
#include "main/mtypes.h"
#include "main/shaderobj.h"
+#include "util/strtod.h"
extern int glcpp_parser_debug;
@@ -168,6 +169,8 @@ main (int argc, char *argv[])
if (shader == NULL)
return 1;
+ _mesa_locale_init();
+
ret = glcpp_preprocess(ctx, &shader, &info_log, NULL, &gl_ctx);
printf("%s", shader);
diff --git a/src/glsl/main.cpp b/src/glsl/main.cpp
index 23412980dce..58651df10a0 100644
--- a/src/glsl/main.cpp
+++ b/src/glsl/main.cpp
@@ -38,6 +38,7 @@
#include "program/hash_table.h"
#include "loop_analysis.h"
#include "standalone_scaffolding.h"
+#include "util/strtod.h"
static int glsl_version = 330;
@@ -46,6 +47,8 @@ initialize_context(struct gl_context *ctx, gl_api api)
{
initialize_context_to_defaults(ctx, api);
+ _mesa_locale_init();
+
/* The standalone compiler needs to claim support for almost
* everything in order to compile the built-in functions.
*/