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 <kenneth@whitecape.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
This commit is contained in:
Kenneth Graunke
2012-09-19 13:27:58 -07:00
parent 5cadb3ef7e
commit 33dbac78a8

View File

@@ -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))