This allows validation to be done on rendering calls also. Fixes 3 dEQP-GLES31.functional.separate tests.
Cc: "11.1" <mesa-sta...@lists.freedesktop.org> Cc: Tapani Pälli <tapani.pa...@intel.com> Cc: Kenneth Graunke <kenn...@whitecape.org> --- src/mesa/main/pipelineobj.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index 6710d0d..d8c9ded 100644 --- a/src/mesa/main/pipelineobj.c +++ b/src/mesa/main/pipelineobj.c @@ -898,6 +898,21 @@ _mesa_validate_program_pipeline(struct gl_context* ctx, if (!_mesa_sampler_uniforms_pipeline_are_valid(pipe)) goto err; + /* Validate inputs against outputs, this cannot be done during linking + * since programs have been linked separately from each other. + * + * From OpenGL 4.5 Core spec: + * "Separable program objects may have validation failures that cannot be + * detected without the complete program pipeline. Mismatched interfaces, + * improper usage of program objects together, and the same + * state-dependent failures can result in validation errors for such + * program objects." + * + * OpenGL ES 3.1 specification has the same text. + */ + if (!_mesa_validate_pipeline_io(pipe)) + goto err; + pipe->Validated = GL_TRUE; return GL_TRUE; @@ -933,21 +948,6 @@ _mesa_ValidateProgramPipeline(GLuint pipeline) * 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. - * - * From OpenGL 4.5 Core spec: - * "Separable program objects may have validation failures that cannot be - * detected without the complete program pipeline. Mismatched interfaces, - * improper usage of program objects together, and the same - * state-dependent failures can result in validation errors for such - * program objects." - * - * OpenGL ES 3.1 specification has the same text. - */ - if (!_mesa_validate_pipeline_io(pipe)) - pipe->Validated = GL_FALSE; } void GLAPIENTRY -- 2.4.3 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev