Module: Mesa Branch: master Commit: 379a32f42ebca9feeb024633f7774661619fd62e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=379a32f42ebca9feeb024633f7774661619fd62e
Author: Ian Romanick <[email protected]> Date: Thu Jul 28 14:09:06 2011 -0700 linker: Make linker_{error,warning} generally available linker_warning is a new function. It's identical to linker_error except that it doesn't set LinkStatus=false and it prepends "warning: " on messages instead of "error: ". Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]> --- src/glsl/ir_function_detect_recursion.cpp | 1 + src/glsl/linker.cpp | 13 +++++++++++++ src/glsl/linker.h | 3 --- src/glsl/program.h | 8 ++++++++ 4 files changed, 22 insertions(+), 3 deletions(-) diff --git a/src/glsl/ir_function_detect_recursion.cpp b/src/glsl/ir_function_detect_recursion.cpp index a3b4618..8f805bf 100644 --- a/src/glsl/ir_function_detect_recursion.cpp +++ b/src/glsl/ir_function_detect_recursion.cpp @@ -125,6 +125,7 @@ #include "glsl_parser_extras.h" #include "linker.h" #include "program/hash_table.h" +#include "program.h" struct call_node : public exec_node { class function *func; diff --git a/src/glsl/linker.cpp b/src/glsl/linker.cpp index 35d893f..19eb9b5 100644 --- a/src/glsl/linker.cpp +++ b/src/glsl/linker.cpp @@ -178,6 +178,19 @@ linker_error(gl_shader_program *prog, const char *fmt, ...) void +linker_warning(gl_shader_program *prog, const char *fmt, ...) +{ + va_list ap; + + ralloc_strcat(&prog->InfoLog, "error: "); + va_start(ap, fmt); + ralloc_vasprintf_append(&prog->InfoLog, fmt, ap); + va_end(ap); + +} + + +void invalidate_variable_locations(gl_shader *sh, enum ir_variable_mode mode, int generic_base) { diff --git a/src/glsl/linker.h b/src/glsl/linker.h index dfae073..769cf68 100644 --- a/src/glsl/linker.h +++ b/src/glsl/linker.h @@ -25,9 +25,6 @@ #ifndef GLSL_LINKER_H #define GLSL_LINKER_H -extern void -linker_error(gl_shader_program *prog, const char *fmt, ...); - extern bool link_function_calls(gl_shader_program *prog, gl_shader *main, gl_shader **shader_list, unsigned num_shaders); diff --git a/src/glsl/program.h b/src/glsl/program.h index db602fa..437ca14 100644 --- a/src/glsl/program.h +++ b/src/glsl/program.h @@ -25,3 +25,11 @@ extern void link_shaders(struct gl_context *ctx, struct gl_shader_program *prog); + +extern void +linker_error(gl_shader_program *prog, const char *fmt, ...) + PRINTFLIKE(2, 3); + +extern void +linker_warning(gl_shader_program *prog, const char *fmt, ...) + PRINTFLIKE(2, 3); _______________________________________________ mesa-commit mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/mesa-commit
