[Mesa-dev] [PATCH] i965: Don't try to print the GLSL IR if it has been freed

Ben Widawsky ben at bwidawsk.net
Fri Jun 26 10:25:08 PDT 2015


On Fri, Jun 26, 2015 at 05:54:15PM +0100, Neil Roberts wrote:
> Since commit 104c8fc2c2aa5621261f8 the GLSL IR will be freed if NIR is
> being used. This was causing it to segfault if INTEL_DEBUG=wm is set.
> This patch just makes it avoid dumping the GLSL IR in that case.
> ---
>  src/mesa/drivers/dri/i965/brw_program.c | 11 +++++++----
>  1 file changed, 7 insertions(+), 4 deletions(-)
> 
> diff --git a/src/mesa/drivers/dri/i965/brw_program.c b/src/mesa/drivers/dri/i965/brw_program.c
> index 2327af7..85e271d 100644
> --- a/src/mesa/drivers/dri/i965/brw_program.c
> +++ b/src/mesa/drivers/dri/i965/brw_program.c
> @@ -574,10 +574,13 @@ brw_dump_ir(const char *stage, struct gl_shader_program *shader_prog,
>              struct gl_shader *shader, struct gl_program *prog)
>  {
>     if (shader_prog) {
> -      fprintf(stderr,
> -              "GLSL IR for native %s shader %d:\n", stage, shader_prog->Name);
> -      _mesa_print_ir(stderr, shader->ir, NULL);
> -      fprintf(stderr, "\n\n");
> +      if (shader->ir) {
> +         fprintf(stderr,
> +                 "GLSL IR for native %s shader %d:\n",
> +                 stage, shader_prog->Name);
> +         _mesa_print_ir(stderr, shader->ir, NULL);
> +         fprintf(stderr, "\n\n");
> +      }
>     } else {
>        fprintf(stderr, "ARB_%s_program %d ir for native %s shader\n",
>                stage, prog->Id, stage);


Reviewed-by: Ben Widawsky <ben at bwidawsk.net>

(also, I think it's good practice to Cc the author the commit you referenced,
though maybe you did just without the "Cc:"


More information about the mesa-dev mailing list