Module: Mesa Branch: master Commit: c3ec12ec3c1ddbc72e50df1f5632fe0547a89f7e URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c3ec12ec3c1ddbc72e50df1f5632fe0547a89f7e
Author: Timothy Arceri <timothy.arc...@collabora.com> Date: Thu Nov 26 21:32:48 2015 +1100 glsl: don't generate extra errors in ValidateProgramPipeline From Section 11.1.3.11 (Validation) of the GLES 3.1 spec: "An INVALID_OPERATION error is generated by any command that trans- fers vertices to the GL or launches compute work if the current set of active program objects cannot be executed, for reasons including:" It then goes on to list the rules we validate in the _mesa_validate_program_pipeline() function. For ValidateProgramPipeline the only mention of generating an error is: "An INVALID_OPERATION error is generated if pipeline is not a name re- turned from a previous call to GenProgramPipelines or if such a name has since been deleted by DeleteProgramPipelines," Which we handle separately. This fixes: ES31-CTS.sepshaderobjs.PipelineApi No regressions on the eEQP 3.1 tests. Cc: Gregory Hainaut <gregory.hain...@gmail.com> Reviewed-by: Tapani Pälli <tapani.pa...@intel.com> --- src/mesa/main/pipelineobj.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index 0439129..6710d0d 100644 --- a/src/mesa/main/pipelineobj.c +++ b/src/mesa/main/pipelineobj.c @@ -928,8 +928,11 @@ _mesa_ValidateProgramPipeline(GLuint pipeline) return; } - _mesa_validate_program_pipeline(ctx, pipe, - (ctx->_Shader->Name == pipe->Name)); + /* ValidateProgramPipeline should not throw errors when pipeline validation + * fails and should instead only update the validation status. We pass + * false for IsBound to avoid an error being thrown. + */ + _mesa_validate_program_pipeline(ctx, pipe, false); /* Validate inputs against outputs, this cannot be done during linking * since programs have been linked separately from each other. _______________________________________________ mesa-commit mailing list mesa-commit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-commit