On 03/29/2017 12:10 AM, Timothy Arceri wrote:
On 28/03/17 09: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
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.
The spec doesn't say if this results in a compile time or link-time
error. Maybe try adding "// check_link: true".
Correct, I have just tested and NVIDIA reports the error at link-time.
So the test is correct. The only difference is that Mesa reports at
compile-time while NVIDIA reports after that.
Note that "// check_link: true" doesn't change anything because I think
the compiler expects an output from a vertex shader.
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
_______________________________________________
Piglit mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/piglit