[Piglit] [PATCH 0/6] ARB_separate_shader_objects test V4

Gregory Hainaut gregory.hainaut at gmail.com
Sat May 25 03:29:25 PDT 2013


TEST status:
IsProgramPipeline:
    * neither AMD/NVIDIA follow the spec...
    * Crash on AMD: because of -1 of glGenProgramPipelines( -1, id)
    * Crash on Nvidia: glGetProgramPipelineiv(4, GL_VERTEX_SHADER, &value).

GetProgramPipelineiv:
    * working on nvidia
    * FGLRX only accept as Active Program, program that was previously attached to
    the pipeline. No mention in the spec

mix_pipeline_useprogram:
    * working on nvidia
    * FGLRX doesn't restore the pipeline when single program is unattached (glUseProgram(0))
    * Shader issue on FGLRX (they don't follow the spec)
    * different GL_PROGRAM_PIPELINE_BINDING behavior

ValidateProgramPipeline:
    * PART 6 is bad on nvidia only (good on FGLRX)
    * PART 11 is bad on FGLRX only (good on nvidia)
    * PART 12 are bad on both drivers. Technically the spec said that the pipeline must be bound
    and current to check the GL_PROGRAM_SEPARABLE flags. But it doesn't make any sense on a bindless
    free api... I try to bind it on FGLRX but I didn't see any change. Don't know on nvidia side. 

api-errors:
    * working on nvidia
    * FGLRX doesn't report any error


*****************************************************************

V2:
* split the patch properly with git :)
* sso-GetProgramPipelineiv: fix a VS linker error. Print current test
  step.
* sso-mix_pipeline_useprogram: fix a wrong expected. Now the test must
  work on nvidia :)
* sso-IsProgramPipeline: Print more current test step
	=> my guess is  nvidia choke on glDeleteProgramPipelines( -1,    
	   id);
	=> Nvidia as AMD doesn't follow the spec (not very serious)    

V3:
* Fix all test on Nvidia GPU.
* Add a new test ValidateProgramPipeline

V4:
* Move new utils function into piglit-shader-gl.c
* split previous 2nd patch into smallera one
* Use subtest
* Use bool instead of GLboolean
* properly set a version to shader

******************************************************************

Gregory Hainaut (6):
  piglit util: new functions piglit_program_pipeline_check_status/quiet
  sso: new test GetProgramPipelineiv:
  sso: new test IsProgramPipeline:
  sso: new test mix_pipeline_useprogram:
  update EXT_transform_feedback error detection
  SSO: new test ValidateProgramPipeline

 tests/all.tests                                    |   12 +-
 .../shaders/ARBfp1.0/precision_hint-03.txt         |    1 -
 .../shaders/ARBfp1.0/precision_hint-05.txt         |    1 -
 tests/spec/CMakeLists.txt                          |    1 +
 .../arb_separate_shader_objects/CMakeLists.gl.txt  |   17 +
 .../arb_separate_shader_objects/CMakeLists.txt     |    1 +
 .../GetProgramPipelineiv.c                         |  277 +++++++++++++
 .../IsProgramPipeline.c                            |  113 +++++
 .../ValidateProgramPipeline.c                      |  437 ++++++++++++++++++++
 .../mix_pipeline_useprogram.c                      |  389 +++++++++++++++++
 tests/spec/ext_transform_feedback/api-errors.c     |   78 +++-
 .../array-of-struct-of-array.vert                  |    2 +-
 .../array-size-sequence-in-parenthesis.vert        |    6 +-
 tests/util/piglit-shader-gl.c                      |   51 +++
 tests/util/piglit-shader-gles1.c                   |    6 +
 tests/util/piglit-shader-gles2.c                   |    2 +
 tests/util/piglit-shader.h                         |    3 +
 17 files changed, 1388 insertions(+), 9 deletions(-)
 create mode 100644 tests/spec/arb_separate_shader_objects/CMakeLists.gl.txt
 create mode 100644 tests/spec/arb_separate_shader_objects/CMakeLists.txt
 create mode 100644 tests/spec/arb_separate_shader_objects/GetProgramPipelineiv.c
 create mode 100644 tests/spec/arb_separate_shader_objects/IsProgramPipeline.c
 create mode 100644 tests/spec/arb_separate_shader_objects/ValidateProgramPipeline.c
 create mode 100644 tests/spec/arb_separate_shader_objects/mix_pipeline_useprogram.c

-- 
1.7.10.4



More information about the Piglit mailing list