diff options
author | Brian Paul <brianp@vmware.com> | 2010-02-01 13:03:25 -0700 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2010-02-01 13:12:53 -0700 |
commit | 12ffee5d58de487cd03e274f7d6f7118d9ad8206 (patch) | |
tree | a09ca467c6acbb8debb3bc3abbfb8c0c4c1465ca /src/mesa/shader | |
parent | 04c3888cb6a88199a3a0ec4c227c15e0f0e606df (diff) | |
download | external_mesa3d-12ffee5d58de487cd03e274f7d6f7118d9ad8206.zip external_mesa3d-12ffee5d58de487cd03e274f7d6f7118d9ad8206.tar.gz external_mesa3d-12ffee5d58de487cd03e274f7d6f7118d9ad8206.tar.bz2 |
mesa: added _mesa_print_vp/p_inputs() functions (debug aids)
Diffstat (limited to 'src/mesa/shader')
-rw-r--r-- | src/mesa/shader/prog_print.c | 41 | ||||
-rw-r--r-- | src/mesa/shader/prog_print.h | 6 |
2 files changed, 47 insertions, 0 deletions
diff --git a/src/mesa/shader/prog_print.c b/src/mesa/shader/prog_print.c index 9f9789e..54fd88a 100644 --- a/src/mesa/shader/prog_print.c +++ b/src/mesa/shader/prog_print.c @@ -150,6 +150,10 @@ arb_input_attrib_string(GLint index, GLenum progType) "fragment.varying[7]" }; + /* sanity checks */ + assert(strcmp(vertAttribs[VERT_ATTRIB_TEX0], "vertex.texcoord[0]") == 0); + assert(strcmp(vertAttribs[VERT_ATTRIB_GENERIC15], "vertex.attrib[15]") == 0); + if (progType == GL_VERTEX_PROGRAM_ARB) { assert(index < sizeof(vertAttribs) / sizeof(vertAttribs[0])); return vertAttribs[index]; @@ -162,6 +166,43 @@ arb_input_attrib_string(GLint index, GLenum progType) /** + * Print a vertex program's InputsRead field in human-readable format. + * For debugging. + */ +void +_mesa_print_vp_inputs(GLbitfield inputs) +{ + _mesa_printf("VP Inputs 0x%x: \n", inputs); + while (inputs) { + GLint attr = _mesa_ffs(inputs) - 1; + const char *name = arb_input_attrib_string(attr, + GL_VERTEX_PROGRAM_ARB); + _mesa_printf(" %d: %s\n", attr, name); + inputs &= ~(1 << attr); + } +} + + +/** + * Print a fragment program's InputsRead field in human-readable format. + * For debugging. + */ +void +_mesa_print_fp_inputs(GLbitfield inputs) +{ + _mesa_printf("FP Inputs 0x%x: \n", inputs); + while (inputs) { + GLint attr = _mesa_ffs(inputs) - 1; + const char *name = arb_input_attrib_string(attr, + GL_FRAGMENT_PROGRAM_ARB); + _mesa_printf(" %d: %s\n", attr, name); + inputs &= ~(1 << attr); + } +} + + + +/** * Return ARB_v/f_prog-style output attrib string. */ static const char * diff --git a/src/mesa/shader/prog_print.h b/src/mesa/shader/prog_print.h index fc286de..9ab7456 100644 --- a/src/mesa/shader/prog_print.h +++ b/src/mesa/shader/prog_print.h @@ -37,6 +37,12 @@ typedef enum { } gl_prog_print_mode; +extern void +_mesa_print_vp_inputs(GLbitfield inputs); + +extern void +_mesa_print_fp_inputs(GLbitfield inputs); + extern const char * _mesa_condcode_string(GLuint condcode); |