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 <ian.d.romanick@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Ian Romanick
2011-07-28 14:09:06 -07:00
parent 586e741ac1
commit 379a32f42e
4 changed files with 22 additions and 3 deletions

View File

@@ -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;

View File

@@ -177,6 +177,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)

View File

@@ -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);

View File

@@ -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);