[Piglit] [PATCH 0/4] Add a generator for testing GLSL defines
Dylan Baker
baker.dylan.c at gmail.com
Tue Apr 12 07:49:48 UTC 2016
This series adds a generator for testing preprocessor defines in GLSL.
IT generates both tests for defines that should be available, and those
that should not. If the driver implements an extension the 'enabled'
tests will run and the 'disabled' will skip, if the driver does not
implement an extension then the opposite will happen.
The first patch is a bug fix for the installer, the seoncd two patches
add some generic framework to help make writing generators easier. the
final patch adds the generator, and deletes tests that it replaces.
Patches 2 and 3 are quite large, but they include a pretty extensive set
of unit tests for the framework bits, since it's hoped that they're
generic enough that other generators could use them.
This series exposes a bug in mesa, it can be seen by the fact that in a
couple of cases the vert and frag disabled tests fail, and the other
stages pass in the enabled tests.
Dylan Baker (4):
CMakeLists.txt: install compute shaders in generated_tests
generators: Add helper classes for GLSL version numbers
generators: Add a minimum version helper.
generators: Add a simple generator for enabled and disabled defines
CMakeLists.txt | 2 +-
generated_tests/CMakeLists.txt | 7 +
generated_tests/gen_extensions_defined.py | 183 ++++++++++
generated_tests/modules/__init__.py | 8 +
generated_tests/modules/glsl.py | 259 ++++++++++++++
.../gen_extensions_defined/disabled.glsl.mako | 40 +++
.../gen_extensions_defined/enabled.glsl.mako | 43 +++
tests/all.py | 1 -
tests/shaders/CMakeLists.gl.txt | 1 -
.../glsl-arb-fragment-coord-conventions-define.c | 83 -----
...glsl-arb-fragment-coord-conventions-define.frag | 10 -
.../amd_shader_trinary_minmax/compiler/define.frag | 19 --
.../amd_shader_trinary_minmax/compiler/define.vert | 19 --
.../compiler/instanceidarb-disabled.frag | 25 --
.../compiler/instanceidarb-disabled.vert | 25 --
.../compiler/instanceidarb-enabled.frag | 24 --
.../compiler/instanceidarb-enabled.vert | 24 --
.../preprocessor/feature-macro-disabled.frag | 12 -
.../preprocessor/feature-macro-disabled.vert | 12 -
.../preprocessor/feature-macro-enabled.frag | 15 -
.../preprocessor/feature-macro-enabled.vert | 15 -
.../spec/arb_enhanced_layouts/compiler/define.frag | 19 --
.../spec/arb_enhanced_layouts/compiler/define.vert | 19 --
.../1.10/preprocessor/define.frag | 19 --
.../1.10/preprocessor/define.vert | 19 --
.../1.20/preprocessor/define.frag | 19 --
.../1.20/preprocessor/define.vert | 19 --
.../1.30/preprocessor/define-130.frag | 19 --
.../1.30/preprocessor/define-130.vert | 19 --
.../preprocessor/define.frag | 20 --
.../preprocessor/define.vert | 20 --
.../arb_gpu_shader_fp64/preprocessor/define.frag | 19 --
.../arb_gpu_shader_fp64/preprocessor/define.vert | 19 --
.../compiler/1.10/define.frag | 18 -
.../compiler/1.10/define.vert | 18 -
.../compiler/1.20/define.frag | 18 -
.../compiler/1.20/define.vert | 18 -
.../compiler/1.30/define.frag | 18 -
.../compiler/1.30/define.vert | 18 -
.../compiler/1.40/define.frag | 18 -
.../compiler/1.40/define.vert | 18 -
.../compiler/1.50/define.frag | 18 -
.../compiler/1.50/define.geom | 18 -
.../compiler/1.50/define.vert | 18 -
.../preprocessor/define.frag | 19 --
.../preprocessor/define.vert | 19 --
.../preprocessor/define.frag | 19 --
.../preprocessor/define.vert | 19 --
.../compiler/define.vert | 19 --
.../preprocessor/define.frag | 19 --
.../preprocessor/define.vert | 19 --
.../arb_shader_subroutine/preprocessor/define.vert | 19 --
.../arb_tessellation_shader/compiler/define.tesc | 19 --
.../arb_tessellation_shader/compiler/define.tese | 19 --
.../preprocessor/define.frag | 19 --
.../preprocessor/define.vert | 19 --
.../preprocessor/define.frag | 19 --
.../preprocessor/define.vert | 19 --
.../glsl-1.10/preprocessor/define.frag | 19 --
.../glsl-1.10/preprocessor/define.vert | 19 --
.../glsl-1.50/preprocessor/define.geom | 18 -
.../glsl-es-3.10/preprocessor/define.frag | 19 --
.../glsl-es-3.10/preprocessor/define.vert | 19 --
tox.ini | 4 +-
.../modules => unittests/generators}/__init__.py | 0
unittests/generators/test_glsl.py | 377 +++++++++++++++++++++
66 files changed, 920 insertions(+), 1076 deletions(-)
create mode 100644 generated_tests/gen_extensions_defined.py
create mode 100644 generated_tests/modules/glsl.py
create mode 100644 generated_tests/templates/gen_extensions_defined/disabled.glsl.mako
create mode 100644 generated_tests/templates/gen_extensions_defined/enabled.glsl.mako
delete mode 100644 tests/shaders/glsl-arb-fragment-coord-conventions-define.c
delete mode 100644 tests/shaders/glsl-arb-fragment-coord-conventions-define.frag
delete mode 100644 tests/spec/amd_shader_trinary_minmax/compiler/define.frag
delete mode 100644 tests/spec/amd_shader_trinary_minmax/compiler/define.vert
delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.frag
delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-disabled.vert
delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.frag
delete mode 100644 tests/spec/arb_draw_instanced/compiler/instanceidarb-enabled.vert
delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.frag
delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-disabled.vert
delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.frag
delete mode 100644 tests/spec/arb_draw_instanced/preprocessor/feature-macro-enabled.vert
delete mode 100644 tests/spec/arb_enhanced_layouts/compiler/define.frag
delete mode 100644 tests/spec/arb_enhanced_layouts/compiler/define.vert
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.frag
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.10/preprocessor/define.vert
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.frag
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.20/preprocessor/define.vert
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.frag
delete mode 100644 tests/spec/arb_explicit_attrib_location/1.30/preprocessor/define-130.vert
delete mode 100644 tests/spec/arb_explicit_uniform_location/preprocessor/define.frag
delete mode 100644 tests/spec/arb_explicit_uniform_location/preprocessor/define.vert
delete mode 100644 tests/spec/arb_gpu_shader_fp64/preprocessor/define.frag
delete mode 100644 tests/spec/arb_gpu_shader_fp64/preprocessor/define.vert
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/define.frag
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.10/define.vert
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/define.frag
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.20/define.vert
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/define.frag
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.30/define.vert
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/define.frag
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.40/define.vert
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.frag
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.geom
delete mode 100644 tests/spec/arb_separate_shader_objects/compiler/1.50/define.vert
delete mode 100644 tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.frag
delete mode 100644 tests/spec/arb_shader_atomic_counter_ops/preprocessor/define.vert
delete mode 100644 tests/spec/arb_shader_atomic_counters/preprocessor/define.frag
delete mode 100644 tests/spec/arb_shader_atomic_counters/preprocessor/define.vert
delete mode 100644 tests/spec/arb_shader_draw_parameters/compiler/define.vert
delete mode 100644 tests/spec/arb_shader_storage_buffer_object/preprocessor/define.frag
delete mode 100644 tests/spec/arb_shader_storage_buffer_object/preprocessor/define.vert
delete mode 100644 tests/spec/arb_shader_subroutine/preprocessor/define.vert
delete mode 100644 tests/spec/arb_tessellation_shader/compiler/define.tesc
delete mode 100644 tests/spec/arb_tessellation_shader/compiler/define.tese
delete mode 100644 tests/spec/arb_uniform_buffer_object/preprocessor/define.frag
delete mode 100644 tests/spec/arb_uniform_buffer_object/preprocessor/define.vert
delete mode 100644 tests/spec/arb_vertex_attrib_64bit/preprocessor/define.frag
delete mode 100644 tests/spec/arb_vertex_attrib_64bit/preprocessor/define.vert
delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.frag
delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.10/preprocessor/define.vert
delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-1.50/preprocessor/define.geom
delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.frag
delete mode 100644 tests/spec/ext_shader_samples_identical/glsl-es-3.10/preprocessor/define.vert
copy {generated_tests/modules => unittests/generators}/__init__.py (100%)
create mode 100644 unittests/generators/test_glsl.py
--
2.8.0
More information about the Piglit
mailing list