From: Ian Romanick <ian.d.roman...@intel.com>

This simplificiation was enabled by the earlier refactors that
eliminated the references to the assembly shaders stored in the
gl_shader_program structure.

Signed-off-by: Ian Romanick <ian.d.roman...@intel.com>
---
 src/mesa/main/context.c       |   22 +++-------------------
 src/mesa/program/prog_print.c |    4 ++--
 src/mesa/program/prog_print.h |    3 +--
 3 files changed, 6 insertions(+), 23 deletions(-)

diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c
index fc52e8c..e0af6ee 100644
--- a/src/mesa/main/context.c
+++ b/src/mesa/main/context.c
@@ -1833,8 +1833,6 @@ _mesa_valid_to_render(struct gl_context *ctx, const char 
*where)
       shProg[MESA_SHADER_FRAGMENT] = ctx->Shader.CurrentFragmentProgram;
 
       for (i = 0; i < MESA_SHADER_TYPES; i++) {
-        struct gl_shader *sh;
-
         if (shProg[i] == NULL || shProg[i]->_Used
             || shProg[i]->_LinkedShaders[i] == NULL)
            continue;
@@ -1842,27 +1840,13 @@ _mesa_valid_to_render(struct gl_context *ctx, const 
char *where)
         /* This is the first time this shader is being used.
          * Append shader's constants/uniforms to log file.
          *
-         * The logic is a little odd here.  We only want to log data for each
-         * shader target that will actually be used, and we only want to log
-         * it once.  It's possible to have a program bound to the vertex
+         * Only log data for the program target that matches the shader
+         * target.  It's possible to have a program bound to the vertex
          * shader target that also supplied a fragment shader.  If that
          * program isn't also bound to the fragment shader target we don't
          * want to log its fragment data.
          */
-        sh = shProg[i]->_LinkedShaders[i];
-        switch (sh->Type) {
-        case GL_VERTEX_SHADER:
-           _mesa_append_uniforms_to_file(sh, sh->Program);
-           break;
-
-        case GL_GEOMETRY_SHADER_ARB:
-           _mesa_append_uniforms_to_file(sh, sh->Program);
-           break;
-
-        case GL_FRAGMENT_SHADER:
-           _mesa_append_uniforms_to_file(sh, sh->Program);
-           break;
-        }
+        _mesa_append_uniforms_to_file(shProg[i]->_LinkedShaders[i]);
       }
 
       for (i = 0; i < MESA_SHADER_TYPES; i++) {
diff --git a/src/mesa/program/prog_print.c b/src/mesa/program/prog_print.c
index 70412b1..dfccc60 100644
--- a/src/mesa/program/prog_print.c
+++ b/src/mesa/program/prog_print.c
@@ -1068,9 +1068,9 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
  * _mesa_write_shader_to_file function.
  */
 void
-_mesa_append_uniforms_to_file(const struct gl_shader *shader,
-                              const struct gl_program *prog)
+_mesa_append_uniforms_to_file(const struct gl_shader *shader)
 {
+   const struct gl_program *const prog = shader->Program;
    const char *type;
    char filename[100];
    FILE *f;
diff --git a/src/mesa/program/prog_print.h b/src/mesa/program/prog_print.h
index d962087..b95ec2b 100644
--- a/src/mesa/program/prog_print.h
+++ b/src/mesa/program/prog_print.h
@@ -113,8 +113,7 @@ extern void
 _mesa_write_shader_to_file(const struct gl_shader *shader);
 
 extern void
-_mesa_append_uniforms_to_file(const struct gl_shader *shader,
-                              const struct gl_program *prog);
+_mesa_append_uniforms_to_file(const struct gl_shader *shader);
 
 
 #endif /* PROG_PRINT_H */
-- 
1.7.6

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to