Add _mesa_glsl_warning to emit warnings to the shader log

This commit is contained in:
Ian Romanick 2010-04-07 14:47:46 -07:00
parent e701761cc8
commit 56b8b21410
2 changed files with 28 additions and 0 deletions

View file

@ -71,6 +71,25 @@ _mesa_glsl_error(YYLTYPE *locp, _mesa_glsl_parse_state *state,
}
void
_mesa_glsl_warning(const YYLTYPE *locp, const _mesa_glsl_parse_state *state,
const char *fmt, ...)
{
char buf[1024];
int len;
va_list ap;
len = snprintf(buf, sizeof(buf), "%u:%u(%u): warning: ",
locp->source, locp->first_line, locp->first_column);
va_start(ap, fmt);
vsnprintf(buf + len, sizeof(buf) - len, fmt, ap);
va_end(ap);
printf("%s\n", buf);
}
bool
_mesa_glsl_process_extension(const char *name, YYLTYPE *name_locp,
const char *behavior, YYLTYPE *behavior_locp,

View file

@ -74,6 +74,15 @@ typedef struct YYLTYPE {
extern void _mesa_glsl_error(YYLTYPE *locp, _mesa_glsl_parse_state *state,
const char *fmt, ...);
/**
* Emit a warning to the shader log
*
* \sa _mesa_glsl_error
*/
extern void _mesa_glsl_warning(const YYLTYPE *locp,
const _mesa_glsl_parse_state *state,
const char *fmt, ...);
extern void _mesa_glsl_lexer_ctor(struct _mesa_glsl_parse_state *state,
const char *string, size_t len);