diff options
| author | Brian Paul <brianp@vmware.com> | 2009-10-15 15:25:52 -0600 | 
|---|---|---|
| committer | Brian Paul <brianp@vmware.com> | 2009-10-16 13:07:43 -0600 | 
| commit | 2ee7fd8d584abf051c552f455aeb588e2936b0ea (patch) | |
| tree | ddd143b06e4d927e2ca905aeeac9253e19cdf563 /src/mesa/shader | |
| parent | fc8a156cfc539b9c04dc3527e4fc61cb4b0b688e (diff) | |
mesa: added MESA_GLSL=useprog debug flag
This logs glUseProgram() calls to stderr.
Diffstat (limited to 'src/mesa/shader')
| -rw-r--r-- | src/mesa/shader/shader_api.c | 27 | 
1 files changed, 21 insertions, 6 deletions
| diff --git a/src/mesa/shader/shader_api.c b/src/mesa/shader/shader_api.c index 6de97984e6..f473bd1173 100644 --- a/src/mesa/shader/shader_api.c +++ b/src/mesa/shader/shader_api.c @@ -390,6 +390,8 @@ get_shader_flags(void)           flags |= GLSL_OPT;        if (_mesa_strstr(env, "uniform"))           flags |= GLSL_UNIFORMS; +      if (_mesa_strstr(env, "useprog")) +         flags |= GLSL_USE_PROG;     }     return flags; @@ -1524,19 +1526,32 @@ _mesa_use_program(GLcontext *ctx, GLuint program)        }        /* debug code */ -      if (0) { +      if (ctx->Shader.Flags & GLSL_USE_PROG) {           GLuint i; -         _mesa_printf("Use Shader Program %u\n", shProg->Name); +         _mesa_printf("Mesa: glUseProgram(%u)\n", shProg->Name);           for (i = 0; i < shProg->NumShaders; i++) { -            _mesa_printf(" shader %u, type 0x%x, checksum %u\n", +            const char *s; +            switch (shProg->Shaders[i]->Type) { +            case GL_VERTEX_SHADER: +               s = "vertex"; +               break; +            case GL_FRAGMENT_SHADER: +               s = "fragment"; +               break; +            case GL_GEOMETRY_SHADER: +               s = "geometry"; +               break; +            default: +               s = ""; +            } +            _mesa_printf("  %s shader %u, checksum %u\n", s,                            shProg->Shaders[i]->Name, -                         shProg->Shaders[i]->Type,                           shProg->Shaders[i]->SourceChecksum);           }           if (shProg->VertexProgram) -            printf(" vert prog %u\n", shProg->VertexProgram->Base.Id); +            _mesa_printf("  vert prog %u\n", shProg->VertexProgram->Base.Id);           if (shProg->FragmentProgram) -            printf(" frag prog %u\n", shProg->FragmentProgram->Base.Id); +            _mesa_printf("  frag prog %u\n", shProg->FragmentProgram->Base.Id);        }     }     else { | 
