mesa: Raise INVALID_VALUE from glCreateShaderProgramv if count < 0

According to OpenGL version 4.5 and OpenGL ES 3.1 standards, section 7.3:
GL_INVALID_VALUE should be generated, if count is less than 0.

V2: Changed title, eased Open GL ES 3.1 restriction and added comments.

Signed-off-by: Marta Lofstedt <marta.lofstedt@intel.com>
Reviewed-by: Timothy Arceri <t_arceri@yahoo.com.au>
This commit is contained in:
Marta Lofstedt 2015-08-13 14:38:14 +02:00 committed by Tapani Pälli
parent dd9d2963d6
commit 19a5a91ea4

View file

@ -2003,6 +2003,15 @@ _mesa_create_shader_program(struct gl_context* ctx, GLboolean separate,
const GLuint shader = create_shader(ctx, type);
GLuint program = 0;
/*
* According to OpenGL 4.5 and OpenGL ES 3.1 standards, section 7.3:
* GL_INVALID_VALUE should be generated if count < 0
*/
if (count < 0) {
_mesa_error(ctx, GL_INVALID_VALUE, "glCreateShaderProgram (count < 0)");
return program;
}
if (shader) {
_mesa_ShaderSource(shader, count, strings, NULL);