Mesa (master): i965: Dump linked shaders on MESA_GLSL=dump.
Kenneth Graunke
kwg at kemper.freedesktop.org
Sat Sep 29 07:40:31 UTC 2012
Module: Mesa
Branch: master
Commit: 33dbac78a8b6094e3b266fbfa0ee0b33bd859a76
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=33dbac78a8b6094e3b266fbfa0ee0b33bd859a76
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Sep 19 13:27:58 2012 -0700
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 at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
---
src/mesa/drivers/dri/i965/brw_shader.cpp | 9 +++++++++
1 files changed, 9 insertions(+), 0 deletions(-)
diff --git a/src/mesa/drivers/dri/i965/brw_shader.cpp b/src/mesa/drivers/dri/i965/brw_shader.cpp
index 54545c0..1cd9095 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))
More information about the mesa-commit
mailing list