From fc8b358bd6971cc858bb06bdb4eed92656a6d8bd Mon Sep 17 00:00:00 2001 From: =?utf8?q?Tapani=20P=C3=A4lli?= Date: Mon, 10 Oct 2016 09:49:36 +0300 Subject: [PATCH] mesa: fix error handling in _mesa_TransformFeedbackVaryings MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit 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 --- src/mesa/main/transformfeedback.c | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) 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, -- 2.30.2