diff options
Diffstat (limited to 'src/mesa')
-rw-r--r-- | src/mesa/main/pipelineobj.c | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/mesa/main/pipelineobj.c b/src/mesa/main/pipelineobj.c index 6710d0d40a4..d8c9ded93dc 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 |