We add one for the null terminator, but if we don't have any varyings, it doesn't make sense to have a null terminator.
Fixes part of es3conform's transform_feedback_init_defaults test. --- src/mesa/main/shaderapi.c | 7 +++++-- 1 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index 7271150..19051d6 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -538,11 +538,14 @@ get_programiv(struct gl_context *ctx, GLuint program, GLenum pname, GLint *param break; *params = shProg->TransformFeedback.NumVarying; return; - case GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: + case GL_TRANSFORM_FEEDBACK_VARYING_MAX_LENGTH: { + GLint max_length; if (!has_xfb) break; - *params = longest_feedback_varying_name(shProg) + 1; + max_length = longest_feedback_varying_name(shProg); + *params = max_length == 0 ? 0 : max_length + 1; return; + } case GL_TRANSFORM_FEEDBACK_BUFFER_MODE: if (!has_xfb) break; -- 1.7.8.6 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev