From 6817407d498ff0c5074321b965673f6efdaaeb21 Mon Sep 17 00:00:00 2001 From: Brian Date: Mon, 26 Feb 2007 15:06:56 -0700 Subject: [PATCH] fix error flagging --- src/mesa/shader/slang/slang_compile.c | 11 ++--------- src/mesa/shader/slang/slang_log.c | 7 +++++-- src/mesa/shader/slang/slang_log.h | 3 ++- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/src/mesa/shader/slang/slang_compile.c b/src/mesa/shader/slang/slang_compile.c index 1a4c7d3..dc2e680 100644 --- a/src/mesa/shader/slang/slang_compile.c +++ b/src/mesa/shader/slang/slang_compile.c @@ -2070,16 +2070,9 @@ _slang_compile(GLcontext *ctx, struct gl_shader *shader) success = compile_shader(ctx, &obj, type, &info_log, shader); - if (success && !info_log.text) { -#if 0 - slang_create_uniforms(&object->expdata, shader); - _mesa_print_program(program); - _mesa_print_program_parameters(ctx, program); -#endif - } - else { + if (!success || info_log.error_flag) { success = GL_FALSE; - /* XXX more work on info log needed here */ + /* copy info-log string to shader object */ if (info_log.text) { if (shader->InfoLog) { free(shader->InfoLog); diff --git a/src/mesa/shader/slang/slang_log.c b/src/mesa/shader/slang/slang_log.c index b6545b2..e838744 100644 --- a/src/mesa/shader/slang/slang_log.c +++ b/src/mesa/shader/slang/slang_log.c @@ -34,7 +34,8 @@ void slang_info_log_construct(slang_info_log * log) { log->text = NULL; - log->dont_free_text = 0; + log->dont_free_text = GL_FALSE; + log->error_flag = GL_FALSE; } void @@ -97,6 +98,7 @@ slang_info_log_error(slang_info_log * log, const char *msg, ...) va_start(va, msg); _mesa_vsprintf(buf, msg, va); va_end(va); + log->error_flag = GL_TRUE; if (slang_info_log_message(log, "Error", buf)) return 1; slang_info_log_memory(log); @@ -122,7 +124,8 @@ void slang_info_log_memory(slang_info_log * log) { if (!slang_info_log_message(log, "Error", "Out of memory.")) { - log->dont_free_text = 1; + log->dont_free_text = GL_TRUE; + log->error_flag = GL_TRUE; log->text = out_of_memory; } } diff --git a/src/mesa/shader/slang/slang_log.h b/src/mesa/shader/slang/slang_log.h index e4ca3a2..dcaba02 100644 --- a/src/mesa/shader/slang/slang_log.h +++ b/src/mesa/shader/slang/slang_log.h @@ -30,7 +30,8 @@ typedef struct slang_info_log_ { char *text; - int dont_free_text; + GLboolean dont_free_text; + GLboolean error_flag; } slang_info_log; -- 2.7.4