generic attribute 0 wasn't handled correctly (Jesse Allen)

This commit is contained in:
Brian Paul 2006-05-29 14:37:56 +00:00
parent 76b6e88e56
commit 919f6a070c

View file

@ -1538,12 +1538,20 @@ parse_attrib_binding(GLcontext * ctx, GLubyte ** inst,
GLuint attrib;
if (!parse_generic_attrib_num(ctx, inst, Program, &attrib)) {
*is_generic = 1;
if (attrib >= MAX_VERTEX_PROGRAM_ATTRIBS) {
const char *msg = "Invalid generic vertex attribute reference";
_mesa_set_program_error (ctx, Program->Position, msg);
_mesa_error (ctx, GL_INVALID_OPERATION, msg);
return 1;
}
/* Add VERT_ATTRIB_GENERIC0 here because ARB_vertex_program's
* attributes do not alias the conventional vertex
* attributes.
*/
if (attrib > 0)
*inputReg = attrib + VERT_ATTRIB_GENERIC0;
else
*inputReg = 0;
}
}
break;