[Mesa-dev] [PATCH] glsl: don't generate extra errors in ValidateProgramPipeline
Timothy Arceri
timothy.arceri at collabora.com
Thu Nov 26 03:01:04 PST 2015
On Thu, 2015-11-26 at 21:50 +1100, Timothy Arceri wrote:
> 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 meantion 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 at gmail.com>
> Cc: Tapani Pälli <tapani.palli at intel.com>
> ---
> src/mesa/main/pipelineobj.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/src/mesa/main/pipelineobj.c
> b/src/mesa/main/pipelineobj.c
> index 0439129..285fc2f 100644
> --- a/src/mesa/main/pipelineobj.c
> +++ b/src/mesa/main/pipelineobj.c
> @@ -928,8 +928,7 @@ _mesa_ValidateProgramPipeline(GLuint pipeline)
> return;
> }
>
> - _mesa_validate_program_pipeline(ctx, pipe,
> - (ctx->_Shader->Name == pipe
> ->Name));
I'll also add and extra comment here:
/* We pass false for IsBound because we don't want a validation
* failure to trigger an error.
*/
> + _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.
More information about the mesa-dev
mailing list