[Piglit] [RFC PATCH 0/5] Add tests for ARB_bindless_texture

Samuel Pitoiset samuel.pitoiset at gmail.com
Mon Mar 27 22:05:08 UTC 2017


Hi,

This series introduces some tests for ARB_bindless_texture. The series
has been splitted into 4 different parts to try to help reviewers because
it's a bunch of new code.

Although this seems huge at first look, I don't cover 100% of the spec
but I think it's time to have some feedbacks. What I have in mind is to
add few more tests like one for seamless cubemap and at least one which
uses both bindless/bound samplers/images.

I tested the series with the NVIDIA blob (378-13-4 on ArchLinux), here's
the list of fails:

$ ./piglit-run.py -v -1 tests/all.py -t arb_bindless_texture nvidia-bindless

fail: spec/arb_bindless_texture/linker/global_bindless_sampler_and_implicit_bound_sampler
fail: spec/arb_bindless_texture/linker/global_bindless_image_and_implicit_bound_image
fail: spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image
fail: spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler

Those fail with the NVIDIA blob, I think they are valid though. Any ideas?

fail: spec/arb_bindless_texture/compiler/images/return.frag

No ideas why the NVIDIA blob doesn't allow this, it should be valid I think.

fail: spec/arb_bindless_texture/compiler/images/explicit-conversions.vert

The NVIDIA blob looks buggy here.

fail: spec/arb_bindless_texture/compiler/images/output.frag
fail: spec/arb_bindless_texture/compiler/samplers/output.frag

Although it's dumb to declare shader outputs inside fragment shaders, the NVIDIA blob allows this.

fail: spec/arb_bindless_texture/compiler/images/input.frag
fail: spec/arb_bindless_texture/compiler/samplers/input.frag

The NVIDIA blob doesn't seem to require the 'flat' qualifier.

fail: spec/arb_bindless_texture/errors
fail: spec/arb_bindless_texture/handles

The NVIDIA blob returns GL_INVALID_OPERATION instead of GL_INVALID_VALUE when
the texture object doesn't exist.

Feedbacks are welcome,
Please review, Thanks!

Samuel Pitoiset (5):
  shader_runner: add support for ARB_bindless_texture
  add API-related tests for ARB_bindless_texture
  arb_bindless_texture: add compiler-related tests
  arb_bindless_texture: add linker-related tests
  arb_bindless_texture: add execution-related tests

 tests/all.py                                       |  14 +
 tests/shaders/shader_runner.c                      |  92 ++++
 tests/spec/CMakeLists.txt                          |   1 +
 tests/spec/arb_bindless_texture/CMakeLists.gl.txt  |  21 +
 tests/spec/arb_bindless_texture/CMakeLists.txt     |   1 +
 tests/spec/arb_bindless_texture/border-color.c     | 209 ++++++++
 .../compiler/images/arith-expr.vert                |  32 ++
 .../compiler/images/bindless-global.vert           |  25 +
 .../compiler/images/bindless-local.vert            |  25 +
 .../compiler/images/bindless-nonuniform.vert       |  23 +
 .../compiler/images/bound-global.vert              |  25 +
 .../compiler/images/bound-local.vert               |  25 +
 .../compiler/images/bound-nonuniform.vert          |  23 +
 .../compiler/images/explicit-conversions.vert      |  86 +++
 .../compiler/images/flat-input.frag                |  28 +
 .../compiler/images/implicit_conversions.vert      |  22 +
 .../compiler/images/indexing.vert                  |  30 ++
 .../compiler/images/inout-struct.frag              |  29 ++
 .../compiler/images/inout.frag                     |  24 +
 .../compiler/images/input.frag                     |  28 +
 .../compiler/images/input.vert                     |  25 +
 .../compiler/images/interface-block.vert           |  27 +
 .../compiler/images/out-struct.frag                |  29 ++
 .../arb_bindless_texture/compiler/images/out.frag  |  24 +
 .../compiler/images/output.frag                    |  22 +
 .../compiler/images/output.vert                    |  24 +
 .../compiler/images/return-struct.frag             |  32 ++
 .../compiler/images/return.frag                    |  26 +
 .../compiler/images/temporary.vert                 |  21 +
 .../compiler/samplers/arith-expr.vert              |  31 ++
 .../compiler/samplers/bindless-global.vert         |  24 +
 .../compiler/samplers/bindless-local.vert          |  24 +
 .../compiler/samplers/bindless-nonuniform.vert     |  22 +
 .../compiler/samplers/bound-global.vert            |  24 +
 .../compiler/samplers/bound-local.vert             |  24 +
 .../compiler/samplers/bound-nonuniform.vert        |  22 +
 .../compiler/samplers/explicit-conversions.vert    | 114 ++++
 .../compiler/samplers/flat-input.frag              |  27 +
 .../compiler/samplers/implicit-conversions.vert    |  21 +
 .../compiler/samplers/indexing.vert                |  29 ++
 .../compiler/samplers/inout-struct.frag            |  28 +
 .../compiler/samplers/inout.frag                   |  23 +
 .../compiler/samplers/input.frag                   |  27 +
 .../compiler/samplers/input.vert                   |  24 +
 .../compiler/samplers/interface-block.vert         |  26 +
 .../compiler/samplers/out-struct.frag              |  28 +
 .../compiler/samplers/out.frag                     |  23 +
 .../compiler/samplers/output.frag                  |  21 +
 .../compiler/samplers/output.vert                  |  23 +
 .../compiler/samplers/return-struct.frag           |  31 ++
 .../compiler/samplers/return.frag                  |  25 +
 .../compiler/samplers/temporary.vert               |  20 +
 tests/spec/arb_bindless_texture/conversions.c      | 280 ++++++++++
 tests/spec/arb_bindless_texture/errors.c           | 514 ++++++++++++++++++
 .../execution/basic-image.shader_test              |  52 ++
 .../execution/basic-texture.shader_test            |  26 +
 .../execution/basic-vertex.shader_test             |  41 ++
 tests/spec/arb_bindless_texture/handles.c          | 576 +++++++++++++++++++++
 tests/spec/arb_bindless_texture/illegal.c          | 331 ++++++++++++
 tests/spec/arb_bindless_texture/legal.c            | 259 +++++++++
 tests/spec/arb_bindless_texture/limit.c            | 302 +++++++++++
 ...obal_bindless_image_and_bound_image.shader_test |  42 ++
 ...al_bindless_image_and_bound_sampler.shader_test |  32 ++
 ...less_image_and_implicit_bound_image.shader_test |  45 ++
 ...bindless_sampler_and_bindless_image.shader_test |  32 ++
 ...al_bindless_sampler_and_bound_image.shader_test |  32 ++
 ..._bindless_sampler_and_bound_sampler.shader_test |  39 ++
 ..._sampler_and_implicit_bound_sampler.shader_test |  42 ++
 ...lobal_bound_sampler_and_bound_image.shader_test |  32 ++
 tests/spec/arb_bindless_texture/uint64_attribs.c   |  96 ++++
 tests/spec/arb_bindless_texture/uniform.c          | 371 +++++++++++++
 71 files changed, 4798 insertions(+)
 create mode 100644 tests/spec/arb_bindless_texture/CMakeLists.gl.txt
 create mode 100644 tests/spec/arb_bindless_texture/CMakeLists.txt
 create mode 100644 tests/spec/arb_bindless_texture/border-color.c
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/arith-expr.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bindless-global.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bindless-local.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bindless-nonuniform.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bound-global.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bound-local.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/bound-nonuniform.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/explicit-conversions.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/flat-input.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/implicit_conversions.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/indexing.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/inout-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/inout.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/input.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/input.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/interface-block.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/out-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/out.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/output.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/output.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/return-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/return.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/images/temporary.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/arith-expr.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bindless-global.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bindless-local.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bindless-nonuniform.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bound-global.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bound-local.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/bound-nonuniform.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/explicit-conversions.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/flat-input.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/implicit-conversions.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/indexing.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/inout-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/inout.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/input.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/input.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/interface-block.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/out-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/out.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/output.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/output.vert
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/return-struct.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/return.frag
 create mode 100644 tests/spec/arb_bindless_texture/compiler/samplers/temporary.vert
 create mode 100644 tests/spec/arb_bindless_texture/conversions.c
 create mode 100644 tests/spec/arb_bindless_texture/errors.c
 create mode 100644 tests/spec/arb_bindless_texture/execution/basic-image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/execution/basic-texture.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/execution/basic-vertex.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/handles.c
 create mode 100644 tests/spec/arb_bindless_texture/illegal.c
 create mode 100644 tests/spec/arb_bindless_texture/legal.c
 create mode 100644 tests/spec/arb_bindless_texture/limit.c
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_image_and_bound_sampler.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_image_and_implicit_bound_image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bindless_image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_bound_sampler.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bindless_sampler_and_implicit_bound_sampler.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/linker/global_bound_sampler_and_bound_image.shader_test
 create mode 100644 tests/spec/arb_bindless_texture/uint64_attribs.c
 create mode 100644 tests/spec/arb_bindless_texture/uniform.c

-- 
2.12.1



More information about the Piglit mailing list