insists on INVALID_OPERATION rather than INVALID_VALUE. No idea which is right.
OpenGL 3.0 spec says:
"The error INVALID VALUE is generated if program is not the name of a program object."
However in 4.0 spec this statement has been removed (and error case is likely described in some 'common errors' section since there is no error specified at all anymore for this case).
Starting from 4.3 spec there is clear error specified just like dEQP expects:
"An INVALID_VALUE error is generated if program is not the name of ei-
ther a program or shader object.
An INVALID_OPERATION error is generated if program is the name of a
Our Piglit test is written against 3.0 spec rules so need to update that one as the error handling is changed.
Found the 'common errors' section referred by comment #1 ... it's 'Shader Objects' that has following clause (already specified in GL 3.0 spec!):
"Commands that accept shader or program object names will generate the error INVALID_VALUE if the provided name is not the name of either a shader or program object and INVALID_OPERATION if the provided name identifies an object that is not the expected type."
Author: Tapani Pälli <firstname.lastname@example.org>
Date: Mon Oct 10 09:49:36 2016 +0300
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:
Signed-off-by: Tapani Pälli <email@example.com>
Reviewed-by: Iago Toral Quiroga <firstname.lastname@example.org>