From: Kenneth Graunke Date: Wed, 19 Sep 2012 20:27:58 +0000 (-0700) Subject: i965: Dump linked shaders on MESA_GLSL=dump. X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=33dbac78a8b6094e3b266fbfa0ee0b33bd859a76;p=mesa.git i965: Dump linked shaders on MESA_GLSL=dump. Often, the original shader IR isn't terribly interesting because a lot of crucial optimizations haven't been done (such as inlining built-ins). ir_to_mesa used to print this out for us, but since we don't use it, we have to do it ourselves. Signed-off-by: Kenneth Graunke Reviewed-by: Eric Anholt --- diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp index 54545c0df74..1cd9095f2ea 100644 --- a/src/mesa/drivers/dri/i965/brw_shader.cpp +++ b/src/mesa/drivers/dri/i965/brw_shader.cpp @@ -210,6 +210,15 @@ brw_link_shader(struct gl_context *ctx, struct gl_shader_program *shProg) _mesa_associate_uniform_storage(ctx, shProg, prog->Parameters); _mesa_reference_program(ctx, &prog, NULL); + + if (ctx->Shader.Flags & GLSL_DUMP) { + static const char *target_strings[] + = { "vertex", "fragment", "geometry" }; + printf("\n"); + printf("GLSL IR for linked %s program %d:\n", target_strings[stage], + shProg->Name); + _mesa_print_ir(shader->base.ir, NULL); + } } if (!brw_shader_precompile(ctx, shProg))