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

Tapani Pälli tapani.palli at intel.com
Sun Jun 28 22:39:28 PDT 2015


Reviewed-by: Tapani Pälli <tapani.palli at intel.com>

On 06/26/2015 07:54 PM, 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);
>


More information about the mesa-dev mailing list