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