[Mesa-dev] [PATCH 1/2] mesa: move pipeline input/output validation inside _mesa_validate_program_pipeline()
Timothy Arceri
timothy.arceri at collabora.com
Sat Dec 5 20:33:57 PST 2015
This allows validation to be done on rendering calls also.
Fixes 3 dEQP-GLES31.functional.separate tests.
Cc: "11.1" <mesa-stable at lists.freedesktop.org>
Cc: Tapani Pälli <tapani.palli at intel.com>
Cc: Kenneth Graunke <kenneth at 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
More information about the mesa-dev
mailing list