summaryrefslogtreecommitdiffstats
path: root/src/glsl/glcpp/pp.c
diff options
context:
space:
mode:
authorMatt Turner <[email protected]>2014-01-25 11:57:02 -0800
committerMatt Turner <[email protected]>2014-01-27 21:15:35 -0800
commit3e0e9e3bf9e597eb74b06381b3418c958be4d452 (patch)
treefce160f92ee606b088d78b9ee9d3ea64b9f32b4d /src/glsl/glcpp/pp.c
parenta818bf481a5e75feaed0afe44b0b80dc8017374f (diff)
glcpp: Check version_resolved in the proper place.
The check was in the wrong place, such that if a shader incorrectly put a preprocessor token before the #version declaration, the version would be resolved twice, leading to a segmentation fault when attempting to redefine the __VERSION__ macro. #extension GL_ARB_sample_shading: require #version 130 void main() {} Also, rename glcpp_parser_resolve_version to glcpp_parser_resolve_implicit_version to avoid confusion. Reviewed-by: Jordan Justen <[email protected]> Reviewed-by: Carl Worth <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
Diffstat (limited to 'src/glsl/glcpp/pp.c')
-rw-r--r--src/glsl/glcpp/pp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/glsl/glcpp/pp.c b/src/glsl/glcpp/pp.c
index 637a58f9cc3..fc645f7a195 100644
--- a/src/glsl/glcpp/pp.c
+++ b/src/glsl/glcpp/pp.c
@@ -151,7 +151,7 @@ glcpp_preprocess(void *ralloc_ctx, const char **shader, char **info_log,
if (parser->skip_stack)
glcpp_error (&parser->skip_stack->loc, parser, "Unterminated #if\n");
- glcpp_parser_resolve_version(parser);
+ glcpp_parser_resolve_implicit_version(parser);
ralloc_strcat(info_log, parser->info_log);