summaryrefslogtreecommitdiffstats
path: root/src/mesa
diff options
context:
space:
mode:
authorMichal Krol <[email protected]>2009-09-16 20:28:20 +0200
committerMichal Krol <[email protected]>2009-09-16 20:28:20 +0200
commitc9de313f1b6d0ee8d9304fc3fe11fb84ff494f12 (patch)
tree00658a82403326efb1d3b0ffb0fc05adca91f4d5 /src/mesa
parentd4638f5dce4cb2c873acafb289036fd59c7a3c78 (diff)
slang: Propagate error messages from preprocessor.
Diffstat (limited to 'src/mesa')
-rw-r--r--src/mesa/shader/slang/slang_compile.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c
index 8ea86756184..19fec53877f 100644
--- a/src/mesa/shader/slang/slang_compile.c
+++ b/src/mesa/shader/slang/slang_compile.c
@@ -2597,15 +2597,18 @@ compile_with_grammar(grammar id, const char *source, slang_code_unit * unit,
memset(&options, 0, sizeof(options));
if (sl_pp_purify(source, &options, &outbuf)) {
+ slang_info_log_error(infolog, "unable to preprocess the source");
return GL_FALSE;
}
if (sl_pp_context_init(&context)) {
+ slang_info_log_error(infolog, "out of memory");
free(outbuf);
return GL_FALSE;
}
if (sl_pp_tokenise(&context, outbuf, &intokens)) {
+ slang_info_log_error(infolog, "%s", context.error_msg);
sl_pp_context_destroy(&context);
free(outbuf);
return GL_FALSE;
@@ -2614,12 +2617,14 @@ compile_with_grammar(grammar id, const char *source, slang_code_unit * unit,
free(outbuf);
if (sl_pp_version(&context, intokens, &version, &tokens_eaten)) {
+ slang_info_log_error(infolog, "%s", context.error_msg);
sl_pp_context_destroy(&context);
free(intokens);
return GL_FALSE;
}
if (sl_pp_process(&context, &intokens[tokens_eaten], &tokens)) {
+ slang_info_log_error(infolog, "%s", context.error_msg);
sl_pp_context_destroy(&context);
free(intokens);
return GL_FALSE;