From: Ian Romanick Date: Tue, 4 Oct 2011 23:58:21 +0000 (-0700) Subject: mesa: Simplify uniform debug logging logic X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=118fd08b586970175af9ae269c81c0f501acba25;p=mesa.git mesa: Simplify uniform debug logging logic 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 Reviewed-by: Kenneth Graunke --- diff --git a/src/mesa/main/context.c b/src/mesa/main/context.c index fc52e8c1562..e0af6ee6749 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 70412b1fa6a..dfccc60f694 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 d962087db38..b95ec2be570 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 */