From: Tapani Pälli Date: Mon, 10 Oct 2016 06:49:36 +0000 (+0300) Subject: mesa: fix error handling in _mesa_TransformFeedbackVaryings X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=fc8b358bd6971cc858bb06bdb4eed92656a6d8bd;p=mesa.git mesa: fix error handling in _mesa_TransformFeedbackVaryings Patch changes function to use _mesa_lookup_shader_program_err both in TransformFeedbackVaryings and GetTransformFeedbackVarying that handles errors correctly for invalid values of shader program. Fixes following dEQP test: dEQP-GLES31.functional.debug.negative_coverage.get_error.shader.transform_feedback_varyings Signed-off-by: Tapani Pälli Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=98135 Reviewed-by: Iago Toral Quiroga --- diff --git a/src/mesa/main/transformfeedback.c b/src/mesa/main/transformfeedback.c index 7c0ff6fc896..738d63eee37 100644 --- a/src/mesa/main/transformfeedback.c +++ b/src/mesa/main/transformfeedback.c @@ -846,12 +846,10 @@ _mesa_TransformFeedbackVaryings(GLuint program, GLsizei count, return; } - shProg = _mesa_lookup_shader_program(ctx, program); - if (!shProg) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glTransformFeedbackVaryings(program=%u)", program); + shProg = _mesa_lookup_shader_program_err(ctx, program, + "glTransformFeedbackVaryings"); + if (!shProg) return; - } if (ctx->Extensions.ARB_transform_feedback3) { if (bufferMode == GL_INTERLEAVED_ATTRIBS) { @@ -927,12 +925,10 @@ _mesa_GetTransformFeedbackVarying(GLuint program, GLuint index, struct gl_program_resource *res; GET_CURRENT_CONTEXT(ctx); - shProg = _mesa_lookup_shader_program(ctx, program); - if (!shProg) { - _mesa_error(ctx, GL_INVALID_VALUE, - "glGetTransformFeedbackVarying(program=%u)", program); + shProg = _mesa_lookup_shader_program_err(ctx, program, + "glGetTransformFeedbackVarying"); + if (!shProg) return; - } res = _mesa_program_resource_find_index((struct gl_shader_program *) shProg, GL_TRANSFORM_FEEDBACK_VARYING,