Hi, a new series with ARB_gl_spirv tests, ubo/ssbo tests this time.
To test them we needed to extend shader runner in order to allow dealing with ubos and ssbos without using the name of the ubo/ssbo or their variables. This is needed because ARB_gl_spirv should work without names available (on SPIR-V names are considered optional debug info). Instead of making that just inherent to SPIR-V tests, we added a mode called force-no-names. This is because testing ubo/ssbos without names could be interesting on GLSL too, since ARB_shading_language_420pack added the support to set a explicit binding on the shader itself. In that sense, without this commit, it is not possible to query that the explicit binding is the one set when executing the test, as shader_runner was resetting it. The tests include some basic smoke-testing ubo/ssbo tests. Tests that cover several common cases, that should work on any ARB_gl_spirv implementation. For more detailed testing, it would be needed to use borrowed testing, or even the random ubo generator script at generated_tests (that it is not used by default). The tests also includes some tests that only applies to ARB_gl_spirv (so marked as SPIRV ONLY). Those tests the ability of setting the explicit offsets/matrix stride/array stride of values that would not be the ones that GLSL would provide, but are allowed on the SPIR-V case. In total, we are adding 36 new tests with this series. Finally the first two patches are somewhat unrelated, as they are patches that just improve the log when a test fail/skips on two specific cases. The tree for this series can be found on the following repository: https://github.com/Igalia/piglit/tree/arb_gl_spirv-series5-ubo-ssbo-v1 Alejandro Piñeiro (15): shader_runner/spirv: log skip reason on ARB_gl_spirv extension check shader_runner/spirv: check if test really includes spirv shader_runner: add forcing_no_names mode shader_runner: add support for glGetProgram queries arb_gl_spirv: add GL_ACTIVE_UNIFORMS checks arb_gl_spirv: add some simple ubo tests arb_gl_spirv: add simple ubo tests with matrices arb_gl_spirv: add complex ubo test with matrices arb_gl_spirv: add a array of ubo test, with complex ubo content arb_gl_spirv: add ubo matrix test with different matrix_stride arb_gl_spirv: add ubo array test with different array_stride arb_gl_spirv: add some simple ssbo tests arb_gl_spirv: add simple ssbo tests with matrices arb_gl_spirv: adding complex ssbo matrix test arb_gl_spirv: add ssbo test using std140 and std430 Neil Roberts (2): arb_gl_spirv: Add tests for UBOs with explicit offsets arb_gl_spirv: Add a test for SSBOs with an unsized array tests/shaders/shader_runner.c | 348 ++++++++-- .../execution/ssbo/array-indirect.shader_test | 121 ++++ .../execution/ssbo/array-inside-ssbo.shader_test | 104 +++ .../ssbo/array-of-arrays-inside-ssbo.shader_test | 210 +++++++ .../arb_gl_spirv/execution/ssbo/array.shader_test | 111 ++++ .../execution/ssbo/matrix/column-major.shader_test | 109 ++++ .../ssbo/matrix/column-vs-row.shader_test | 196 ++++++ .../execution/ssbo/matrix/complex.shader_test | 699 +++++++++++++++++++++ .../ssbo/matrix/indirect-column-major.shader_test | 131 ++++ .../ssbo/matrix/indirect-row-major.shader_test | 131 ++++ .../execution/ssbo/matrix/row-major.shader_test | 109 ++++ .../arb_gl_spirv/execution/ssbo/simple.shader_test | 97 +++ .../ssbo/two-ssbo-different-layouts.shader_test | 374 +++++++++++ .../execution/ssbo/two-ssbo.shader_test | 106 ++++ .../execution/ssbo/two-stages.shader_test | 196 ++++++ .../execution/ssbo/unsized-array.shader_test | 119 ++++ .../execution/ubo/array-complex.shader_test | 183 ++++++ .../array-different-array-stride-ubo.shader_test | 147 +++++ .../execution/ubo/array-indirect.shader_test | 108 ++++ .../execution/ubo/array-inside-ubo.shader_test | 94 +++ .../ubo/array-of-arrays-inside-ubo.shader_test | 184 ++++++ .../arb_gl_spirv/execution/ubo/array.shader_test | 96 +++ .../ubo/explicit-offset-nested-struct.shader_test | 81 +++ .../execution/ubo/explicit-offset.shader_test | 80 +++ .../execution/ubo/location-0-crash.shader_test | 93 +++ .../execution/ubo/matrix/column-major.shader_test | 96 +++ .../execution/ubo/matrix/column-vs-row.shader_test | 176 ++++++ .../execution/ubo/matrix/complex.shader_test | 624 ++++++++++++++++++ .../ubo/matrix/different-matrix-stride.shader_test | 155 +++++ .../ubo/matrix/indirect-column-major.shader_test | 119 ++++ .../ubo/matrix/indirect-row-major.shader_test | 119 ++++ .../execution/ubo/matrix/row-major.shader_test | 96 +++ .../arb_gl_spirv/execution/ubo/simple.shader_test | 92 +++ .../execution/ubo/two-stages.shader_test | 191 ++++++ .../execution/ubo/two-ubos.shader_test | 98 +++ .../execution/uniform/array.shader_test | 2 + .../execution/uniform/arrays-of-arrays.shader_test | 2 + .../uniform/atomic-uint-aoa-cs.shader_test | 2 + .../uniform/atomic-uint-aoa-fs.shader_test | 2 + .../uniform/atomic-uint-array-cs.shader_test | 2 + .../uniform/atomic-uint-array-fs.shader_test | 2 + .../execution/uniform/atomic-uint-cs.shader_test | 2 + .../execution/uniform/atomic-uint-fs.shader_runner | 1 + ...ic-uint-mixing-with-normal-uniforms.shader_test | 2 + .../uniform/atomic-uint-several-slots.shader_test | 2 + .../execution/uniform/embedded-structs.shader_test | 2 + .../uniform/index-matches-location.shader_test | 2 + .../uniform/initializer-complex.shader_test | 2 + .../uniform/initializer-dvec4.shader_test | 3 + .../uniform/initializer-mat4x3.shader_test | 4 + .../execution/uniform/initializer.shader_test | 2 + .../uniform/nonsequential-locations.shader_test | 2 + .../uniform/sampler2d-binding-array.shader_test | 2 + .../uniform/sampler2d-binding.shader_test | 2 + .../sampler2d-nonconst-nested-array.shader_test | 2 + .../execution/uniform/sampler2d-struct.shader_test | 2 + .../execution/uniform/sampler2d.shader_test | 2 + .../uniform/simple-without-names.shader_test | 2 + .../execution/uniform/simple.shader_test | 2 + .../execution/uniform/struct-array.shader_test | 2 + .../execution/uniform/struct.shader_test | 2 + .../execution/uniform/two-uniforms.shader_test | 2 + .../linker/ubo/two-stages-wrong1.shader_test | 190 ++++++ .../linker/ubo/two-stages-wrong2.shader_test | 185 ++++++ 64 files changed, 6368 insertions(+), 56 deletions(-) create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/array-indirect.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/array-inside-ssbo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/array-of-arrays-inside-ssbo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/array.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/column-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/column-vs-row.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/complex.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/indirect-column-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/indirect-row-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/matrix/row-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/simple.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/two-ssbo-different-layouts.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/two-ssbo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/two-stages.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ssbo/unsized-array.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array-complex.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array-different-array-stride-ubo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array-indirect.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array-inside-ubo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array-of-arrays-inside-ubo.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/array.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/explicit-offset-nested-struct.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/explicit-offset.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/location-0-crash.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/column-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/column-vs-row.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/complex.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/different-matrix-stride.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/indirect-column-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/indirect-row-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/matrix/row-major.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/simple.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/two-stages.shader_test create mode 100644 tests/spec/arb_gl_spirv/execution/ubo/two-ubos.shader_test create mode 100644 tests/spec/arb_gl_spirv/linker/ubo/two-stages-wrong1.shader_test create mode 100644 tests/spec/arb_gl_spirv/linker/ubo/two-stages-wrong2.shader_test -- 2.14.1 _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/piglit