[Mesa-dev] [PATCH 1/6] mesa: Simplify uniform debug logging logic
Ian Romanick
idr at freedesktop.org
Fri Oct 7 17:06:47 PDT 2011
From: Ian Romanick <ian.d.romanick at 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.romanick at 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
More information about the mesa-dev
mailing list