Summary: | [regression, bisected] piglit arb_separate_shader_objects.validateprogrampipeline fails | ||
---|---|---|---|
Product: | Mesa | Reporter: | Boyan Ding <stu_dby> |
Component: | Mesa core | Assignee: | Tapani Pälli <lemody> |
Status: | RESOLVED FIXED | QA Contact: | mesa-dev |
Severity: | normal | ||
Priority: | medium | ||
Version: | git | ||
Hardware: | Other | ||
OS: | All | ||
Whiteboard: | |||
i915 platform: | i915 features: |
Description
Boyan Ding
2015-09-27 07:46:01 UTC
what is the HEAD commit of your Piglit tree? (In reply to Tapani Pälli from comment #1) > what is the HEAD commit of your Piglit tree? Or maybe more specifically, do you have following commit in your tree? --- 8< --- sso: bind pipeline object in ValidateProgramPipeline When fixing some ES 3.1 conformance issues I noticed several subtests started to fail. Pipeline has to be bound before validation, this makes failing subtests to pass with planned Mesa changes. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> My piglit tree was a little bit old. I updated today only to find now this test consistently fails on both old and new versions of mesa. Log below --- 8< --- PIGLIT: {"subtest": {"VS/FS program, single glUseProgramStages call" : "pass"}} PIGLIT: {"subtest": {"VS/FS program, multiple glUseProgramStages calls" : "pass"}} PIGLIT: {"subtest": {"program per pipeline stage" : "pass"}} Failed to validate the pipeline: Program is active for multiple shader stages with an intervening stage provided by another program PIGLIT: {"subtest": {"GS splitting a VS/FS pipeline" : "pass"}} PIGLIT: {"subtest": {"TCS splitting a VS/GS pipeline" : "skip"}} PIGLIT: {"subtest": {"TES splitting a VS/GS program" : "skip"}} Unexpected GL error: GL_INVALID_OPERATION 0x502 (Error at /home/dingbur/tech/mesa/piglit/tests/spec/arb_separate_shader_objects/ValidateProgramPipeline.c:164) Failed to validate the pipeline: Program lacks a vertex shader PIGLIT: {"subtest": {"GS without VS" : "pass"}} PIGLIT: {"subtest": {"TES/TCS without VS" : "skip"}} Unexpected GL error: GL_INVALID_OPERATION 0x502 (Error at /home/dingbur/tech/mesa/piglit/tests/spec/arb_separate_shader_objects/ValidateProgramPipeline.c:164) Failed to validate the pipeline: Program 6 is not active for all shaders that was linked PIGLIT: {"subtest": {"Only VS from a VS/FS program" : "pass"}} Unexpected GL error: GL_INVALID_OPERATION 0x502 (Error at /home/dingbur/tech/mesa/piglit/tests/spec/arb_separate_shader_objects/ValidateProgramPipeline.c:164) Failed to validate the pipeline: Program 8 is not active for all shaders that was linked PIGLIT: {"subtest": {"Only GS from a VS/GS program" : "pass"}} PIGLIT: {"subtest": {"Only TES from TES/TCS program" : "skip"}} Unexpected GL error: GL_INVALID_OPERATION 0x502 (Error at /home/dingbur/tech/mesa/piglit/tests/spec/arb_separate_shader_objects/ValidateProgramPipeline.c:164) PIGLIT: {"subtest": {"Relink attached VS without GL_PROGRAM_SEPARABLE (sanity pre-test)" : "pass"}} Failed to validate the pipeline: Program 4 was relinked without PROGRAM_SEPARABLE state PIGLIT: {"subtest": {"Relink attached VS without GL_PROGRAM_SEPARABLE" : "pass"}} PIGLIT: {"result": "fail" } > My piglit tree was a little bit old. I updated today only to find
> now this test consistently fails on both old and new versions of mesa.
Right, this should be the 'expected result' right now. It has been failing for a long time.
This test is now passing. Fixed by --- 8< ---- commit c3ec12ec3c1ddbc72e50df1f5632fe0547a89f7e Author: Timothy Arceri <timothy.arceri@collabora.com> Date: Thu Nov 26 21:32:48 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> |
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.