[Mesa-dev] [PATCH 1/4 v2] glsl: consolidate code
Brian Paul
brianp at vmware.com
Wed May 2 07:58:03 PDT 2012
On 05/01/2012 05:04 PM, nobled wrote:
> And lay the groundwork for GL_ARB_debug_output.
> ---
> src/glsl/glsl_parser_extras.cpp | 33 +++++++++++++++++++--------------
> 1 files changed, 19 insertions(+), 14 deletions(-)
>
> diff --git a/src/glsl/glsl_parser_extras.cpp b/src/glsl/glsl_parser_extras.cpp
> index ae7a365..6a4ab4a 100644
> --- a/src/glsl/glsl_parser_extras.cpp
> +++ b/src/glsl/glsl_parser_extras.cpp
> @@ -134,24 +134,34 @@ _mesa_glsl_shader_target_name(enum
> _mesa_glsl_parser_targets target)
> return "unknown";
> }
>
It would be nice to have some more comments. For example, what is
'type' and 'id'?
> +static void
> +_mesa_glsl_msg(const YYLTYPE *locp, _mesa_glsl_parse_state *state,
> + GLenum type, GLuint id, const char *fmt, va_list ap)
> +{
> + bool error = (type == GL_DEBUG_TYPE_ERROR_ARB);
> +
> + assert(state->info_log != NULL);
> + ralloc_asprintf_append(&state->info_log, "%u:%u(%u): %s: ",
> + locp->source,
> + locp->first_line,
> + locp->first_column,
> + error ? "error" : "warning");
> + ralloc_vasprintf_append(&state->info_log, fmt, ap);
> + ralloc_strcat(&state->info_log, "\n");
> +}
>
> void
> _mesa_glsl_error(YYLTYPE *locp, _mesa_glsl_parse_state *state,
> const char *fmt, ...)
> {
> va_list ap;
> + GLenum type = GL_DEBUG_TYPE_ERROR_ARB;
>
> state->error = true;
>
> - assert(state->info_log != NULL);
> - ralloc_asprintf_append(&state->info_log, "%u:%u(%u): error: ",
> - locp->source,
> - locp->first_line,
> - locp->first_column);
> va_start(ap, fmt);
> - ralloc_vasprintf_append(&state->info_log, fmt, ap);
> + _mesa_glsl_msg(locp, state, type, SHADER_ERROR_UNKNOWN, fmt, ap);
> va_end(ap);
> - ralloc_strcat(&state->info_log, "\n");
> }
>
>
> @@ -160,16 +170,11 @@ _mesa_glsl_warning(const YYLTYPE *locp,
> _mesa_glsl_parse_state *state,
> const char *fmt, ...)
> {
> va_list ap;
> + GLenum type = GL_DEBUG_TYPE_OTHER_ARB;
>
> - assert(state->info_log != NULL);
> - ralloc_asprintf_append(&state->info_log, "%u:%u(%u): warning: ",
> - locp->source,
> - locp->first_line,
> - locp->first_column);
> va_start(ap, fmt);
> - ralloc_vasprintf_append(&state->info_log, fmt, ap);
> + _mesa_glsl_msg(locp, state, type, 0, fmt, ap);
> va_end(ap);
> - ralloc_strcat(&state->info_log, "\n");
> }
>
>
Looks OK otherwise.
Reviewed-by: Brian Paul <brianp at vmware.com>
More information about the mesa-dev
mailing list