From 19a5a91ea49bd411f4d438d416000d49ecc2de7e Mon Sep 17 00:00:00 2001 From: Marta Lofstedt Date: Thu, 13 Aug 2015 14:38:14 +0200 Subject: [PATCH] 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 Reviewed-by: Timothy Arceri --- src/mesa/main/shaderapi.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/mesa/main/shaderapi.c b/src/mesa/main/shaderapi.c index f9a7d130f9c..16222747905 100644 --- a/src/mesa/main/shaderapi.c +++ b/src/mesa/main/shaderapi.c @@ -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); -- 2.30.2