Mesa (gallium-0.2): gallium: added st_print_shaders() function to help w/ debugging

Brian Paul brianp at kemper.freedesktop.org
Thu Nov 6 22:16:44 UTC 2008


Module: Mesa
Branch: gallium-0.2
Commit: 678f80b347801d925c07a774faee1ed3f716de15
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=678f80b347801d925c07a774faee1ed3f716de15

Author: Brian Paul <brian.paul at tungstengraphics.com>
Date:   Thu Nov  6 15:00:01 2008 -0700

gallium: added st_print_shaders() function to help w/ debugging

---

 src/mesa/state_tracker/st_program.c |   16 ++++++++++++++++
 src/mesa/state_tracker/st_program.h |    4 ++++
 2 files changed, 20 insertions(+), 0 deletions(-)

diff --git a/src/mesa/state_tracker/st_program.c b/src/mesa/state_tracker/st_program.c
index 55b52c3..af0df22 100644
--- a/src/mesa/state_tracker/st_program.c
+++ b/src/mesa/state_tracker/st_program.c
@@ -512,3 +512,19 @@ st_translate_fragment_program(struct st_context *st,
       tgsi_dump( fs.tokens, 0/*TGSI_DUMP_VERBOSE*/ );
 }
 
+
+/**
+ * Debug- print current shader text
+ */
+void
+st_print_shaders(GLcontext *ctx)
+{
+   struct gl_shader_program *shProg = ctx->Shader.CurrentProgram;
+   if (shProg) {
+      GLuint i;
+      for (i = 0; i < shProg->NumShaders; i++) {
+         printf("GLSL shader %u of %u:\n", i, shProg->NumShaders);
+         printf("%s\n", shProg->Shaders[i]->Source);
+      }
+   }
+}
diff --git a/src/mesa/state_tracker/st_program.h b/src/mesa/state_tracker/st_program.h
index 078e2c4..e2e5edd 100644
--- a/src/mesa/state_tracker/st_program.h
+++ b/src/mesa/state_tracker/st_program.h
@@ -151,4 +151,8 @@ st_translate_vertex_program(struct st_context *st,
                             const ubyte *fs_input_semantic_index);
 
 
+extern void
+st_print_shaders(GLcontext *ctx);
+
+
 #endif




More information about the mesa-commit mailing list