On 28.03.2017 00:05, Samuel Pitoiset wrote:
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

I don't think those two tests are valid. At least the quoted spec language doesn't support it.

It's not clear to me whether the global default of bindless should apply to the uniform declared in the other compilation unit, but even if it doesn't, the spec language only calls for an error if there are conflicting *explicit* specifications.


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?

I agree they're valid.


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.

I also agree this should be valid. What's the error given by the blob?


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

The NVIDIA blob looks buggy here.

Agreed.


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.

... and the spec forbids it, so I'd say the test is good.


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.

Test looks good.


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.

Wouldn't be the first time for this kind of bug.

I didn't really look into the patches in any detail, just the conflicts you mentioned above, but thanks for tackling this!

Cheers,
Nicolai


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



--
Lerne, wie die Welt wirklich ist,
Aber vergiss niemals, wie sie sein sollte.
_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to