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.hainaut@gmail.com> Reviewed-by: Tapani Pälli <tapani.palli@intel.com>
This commit is contained in:
parent
57fc0dd8d5
commit
c3ec12ec3c
|
@ -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.
|
||||
|
|
Loading…
Reference in New Issue