mesa c3ec12ec3c1ddbc72e50df1f5632fe0547a89f7e regressed the following piglit test: piglit.spec.arb_separate_shader_objects.active sampler conflict Standard Output /tmp/build_root/m64/lib/piglit/bin/arb_separate_shader_object-active-sampler-conflict -auto -fbo piglit: debug: Requested an OpenGL 3.1 Forward-Compatible Core Context, and received a matching 3.3 context Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:218) Expected GL error: GL_INVALID_OPERATION 0x502 Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:229) Expected GL error: GL_INVALID_OPERATION 0x502 Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:218) Expected GL error: GL_INVALID_OPERATION 0x502 Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:229) Expected GL error: GL_INVALID_OPERATION 0x502 Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:218) Expected GL error: GL_INVALID_OPERATION 0x502 Failed to validate the pipeline: Texture unit 1 is accessed both as sampler2D and sampler3D Unexpected GL error: GL_NO_ERROR 0x0 (Error at /home/jenkins/workspace/Leeroy/repos/piglit/tests/spec/arb_separate_shader_objects/active-sampler-conflict.c:229) Expected GL error: GL_INVALID_OPERATION 0x502 The commit that triggered the test failure: Author: Timothy Arceri <timothy.arceri@collabora.com> AuthorDate: Thu Nov 26 21:32:48 2015 +1100 Commit: Timothy Arceri <timothy.arceri@collabora.com> CommitDate: Fri Nov 27 08:44:37 2015 +1100 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>
I'll look into a fix, I seem to have missed the failure in the CI test results. There seems to be no real regression here the test seems to have been incorrectly passing previously because the validation calls were incorrectly causing the errors that the test was expecting from the draw calls.
So there were existing bugs in both the test and Mesa uncovered by c3ec12ec3c1d I've fixed both and sent for review. Piglit patch: http://patchwork.freedesktop.org/patch/66614/ Mesa patch: http://patchwork.freedesktop.org/patch/66617/
Fixed by Mesa commit da1a01361b0b4b9c727aa9a5a2ebe270a6fa81b7 glsl: re-validate program pipeline after sampler change
Thanks for the fix.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.