[Piglit] [PATCH 00/25] ARB_gl_spirv: support for loading SPIR-V binaries, plus first set of tests
Alejandro Piñeiro
apinheiro at igalia.com
Tue Apr 17 14:37:06 UTC 2018
Hi,
this is the first series of piglit testing for the ongoing support for
ARB_gl_spirv. This series adds shader_runner the support to load
SPIR-V binaries, so the same shader_test can be used in most cases for
GLSL or SPIR-V. The main focus of this series is providing testing for
uniforms, specifically for those cases enabled by the mesa series that
has been just sent to mesa-dev, although there are some extras. So
this series allow the testing of the following:
* Basic cases: not uniforms, just some stages.
* Uniforms: specifically "just uniforms". It includes the simple
cases, plus arrays, arrays of arrays, structs, matrices, images
and samplers. But it doesn't include testing for atomic counter
uniforms, UBOs, SSBOs etc.
* Shader specializations constants: this is a new feature coming
from ARB_gl_spirv.
Note (specially to Nicolai) that the focus of this series is provide
specific barebone tests for ARB_gl_spirv, while original Nicolai's
series was more focused on re-using tests from other specs. We think
that using or not those borrowed tests, and how to use them, need some
discussion first (as mentioned on last FOSDEM). We will send a RFC
soon about that.
The tree for this series can be found on the following repository:
* https://github.com/Igalia/piglit/tree/arb_gl_spirv-series1-uniforms-v1
And the mesa series mentioned:
* https://github.com/Igalia/mesa/tree/arb_gl_spirv-series2-uniforms-v1
Alejandro Piñeiro (10):
framework: add --glsl option
shader_runner/spirv: add vertex shader passthrough support on SPIR-V
shader_runner: debug prints if running on SPIR-V mode.
arb_gl_spirv: add really simple execution test
arb_gl_spirv: add basic test with two uniforms
arb_gl_spirv: add a small test with an array of uniforms
arb_gl_spirv: add execution test for multi-dimensional (aoa) uniform
arb_gl_spirv: uniform sampler2D
arb_gl_spirv: add two linking tests for uniform multisample images
arb_gl_spirv: add cross-stage uniform checking tests
Neil Roberts (12):
util: Add a utility to stream data through an external process
shader_runner/spirv: Add support for SPIR-V specializations
arb_gl_spirv: Add a test using specializations
arb_gl_spirv: Add tests for sampler2D uniform binding initialisers
arb_gl_spirv: Add a test for a sampler within a struct
arb_gl_spirv: Add a test for nonconst array of sampler structs
arb_gl_spirv: Add 4 tests for uniform initializers
arb_gl_spirv: Add a test for non-sequential explicit uniform locations
arb_gl_spirv: Add a test for a struct uniform
arb_gl_spirv: Add a test for a uniform struct with struct members
arb_gl_spirv: Add a test for an array of structs uniform
arb_gl_spirv: Add a fiddly test for uniform index calculation
Nicolai Hähnle (3):
shader_runner/spirv: support loading SPIR-V shaders
arb_gl_spirv: basic uniform test with names still present
arb_gl_spirv: add basic uniform test without names
framework/options.py | 1 +
framework/programs/run.py | 6 +
framework/test/shader_test.py | 6 +-
tests/shaders/shader_runner.c | 460 ++++++++++++++++++++-
tests/shaders/shader_runner_vs_passthrough_spv.h | 45 ++
.../execution/uniform/array.shader_test | 137 ++++++
.../execution/uniform/arrays-of-arrays.shader_test | 77 ++++
.../execution/uniform/embedded-structs.shader_test | 151 +++++++
.../uniform/index-matches-location.shader_test | 100 +++++
.../uniform/initializer-complex.shader_test | 180 ++++++++
.../uniform/initializer-dvec4.shader_test | 68 +++
.../uniform/initializer-mat4x3.shader_test | 83 ++++
.../execution/uniform/initializer.shader_test | 66 +++
.../uniform/nonsequential-locations.shader_test | 69 ++++
.../uniform/sampler2d-binding-array.shader_test | 85 ++++
.../uniform/sampler2d-binding.shader_test | 70 ++++
.../sampler2d-nonconst-nested-array.shader_test | 225 ++++++++++
.../execution/uniform/sampler2d-struct.shader_test | 98 +++++
.../execution/uniform/sampler2d.shader_test | 70 ++++
.../uniform/simple-without-names.shader_test | 111 +++++
.../execution/uniform/simple.shader_test | 124 ++++++
.../execution/uniform/struct-array.shader_test | 140 +++++++
.../execution/uniform/struct.shader_test | 79 ++++
.../execution/uniform/two-uniforms.shader_test | 132 ++++++
.../execution/vs-ps-simple.shader_test | 119 ++++++
.../execution/vs-ps-specializations.shader_test | 181 ++++++++
.../different-uniform-array-size.shader_test | 130 ++++++
.../uniform/different-uniform-type.shader_test | 129 ++++++
.../linker/uniform/multisampler-array.shader_test | 68 +++
.../linker/uniform/multisampler.shader_test | 67 +++
tests/util/CMakeLists.txt | 1 +
tests/util/piglit-subprocess.c | 207 ++++++++++
tests/util/piglit-subprocess.h | 44 ++
33 files changed, 3518 insertions(+), 11 deletions(-)
create mode 100644 tests/shaders/shader_runner_vs_passthrough_spv.h
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/array.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/arrays-of-arrays.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/embedded-structs.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/index-matches-location.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/initializer-complex.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/initializer-dvec4.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/initializer-mat4x3.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/initializer.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/nonsequential-locations.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/sampler2d-binding-array.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/sampler2d-binding.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/sampler2d-nonconst-nested-array.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/sampler2d-struct.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/sampler2d.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/simple-without-names.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/simple.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/struct-array.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/struct.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/uniform/two-uniforms.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/vs-ps-simple.shader_test
create mode 100644 tests/spec/arb_gl_spirv/execution/vs-ps-specializations.shader_test
create mode 100644 tests/spec/arb_gl_spirv/linker/uniform/different-uniform-array-size.shader_test
create mode 100644 tests/spec/arb_gl_spirv/linker/uniform/different-uniform-type.shader_test
create mode 100644 tests/spec/arb_gl_spirv/linker/uniform/multisampler-array.shader_test
create mode 100644 tests/spec/arb_gl_spirv/linker/uniform/multisampler.shader_test
create mode 100644 tests/util/piglit-subprocess.c
create mode 100644 tests/util/piglit-subprocess.h
--
2.14.1
More information about the Piglit
mailing list