mesa: new _mesa_append_uniforms_to_file() debug/logging function

This commit is contained in:
Brian Paul 2009-08-14 11:26:20 -06:00
parent b6e5600bd4
commit db598b8998
2 changed files with 34 additions and 0 deletions

View file

@ -958,3 +958,34 @@ _mesa_write_shader_to_file(const struct gl_shader *shader)
}
/**
* Append the shader's uniform info/values to the shader log file.
* The log file will typically have been created by the
* _mesa_write_shader_to_file function.
*/
void
_mesa_append_uniforms_to_file(const struct gl_shader *shader)
{
const char *type;
char filename[100];
FILE *f;
if (shader->Type == GL_FRAGMENT_SHADER)
type = "frag";
else
type = "vert";
_mesa_snprintf(filename, sizeof(filename), "shader_%u.%s", shader->Name, type);
f = fopen(filename, "a"); /* append */
if (!f) {
fprintf(stderr, "Unable to open %s for appending\n", filename);
return;
}
fprintf(f, "/* First-draw parameters / constants */\n");
fprintf(f, "/*\n");
_mesa_fprint_parameter_list(f, shader->Program->Parameters);
fprintf(f, "*/\n");
fclose(f);
}

View file

@ -86,5 +86,8 @@ _mesa_print_parameter_list(const struct gl_program_parameter_list *list);
extern void
_mesa_write_shader_to_file(const struct gl_shader *shader);
extern void
_mesa_append_uniforms_to_file(const struct gl_shader *shader);
#endif /* PROG_PRINT_H */