summaryrefslogtreecommitdiffstats
path: root/src/mesa/shader/prog_parameter.c
diff options
context:
space:
mode:
authorBrian <[email protected]>2007-04-18 14:19:17 -0600
committerBrian <[email protected]>2007-04-18 14:19:17 -0600
commit6d3d9c1c6de33646b63d47892863939ee1b1e624 (patch)
tree72a4057938f1aaa7b2d2e0659d3ef14e018a16be /src/mesa/shader/prog_parameter.c
parente57e752eeef1611cbc8bf9e0aca8c2467267f027 (diff)
Replace _mesa_parameter_longest_name() with _mesa_longest_parameter_name().
The later takes a type parameter so we can match uniforms or attributes/inputs. Used by the GL_ACTIVE_ATTRIBUTE_MAX_LENGTH and GL_ACTIVE_UNIFORM_MAX_LENGTH queries. Fixes problem reported by Brad King in VTK.
Diffstat (limited to 'src/mesa/shader/prog_parameter.c')
-rw-r--r--src/mesa/shader/prog_parameter.c13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/mesa/shader/prog_parameter.c b/src/mesa/shader/prog_parameter.c
index 2c8a3407634..fe90ca6d7bb 100644
--- a/src/mesa/shader/prog_parameter.c
+++ b/src/mesa/shader/prog_parameter.c
@@ -586,18 +586,21 @@ _mesa_clone_parameter_list(const struct gl_program_parameter_list *list)
/**
- * Find longest name of any parameter in list.
+ * Find longest name of all uniform parameters in list.
*/
GLuint
-_mesa_parameter_longest_name(const struct gl_program_parameter_list *list)
+_mesa_longest_parameter_name(const struct gl_program_parameter_list *list,
+ enum register_file type)
{
GLuint i, maxLen = 0;
if (!list)
return 0;
for (i = 0; i < list->NumParameters; i++) {
- GLuint len = _mesa_strlen(list->Parameters[i].Name);
- if (len > maxLen)
- maxLen = len;
+ if (list->Parameters[i].Type == type) {
+ GLuint len = _mesa_strlen(list->Parameters[i].Name);
+ if (len > maxLen)
+ maxLen = len;
+ }
}
return maxLen;
}