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 _______________________________________________ Piglit mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/piglit
