[Piglit] Tests for ARB_shader_image_load_store.

Francisco Jerez currojerez at riseup.net
Sun Oct 5 14:00:30 PDT 2014


The following patches implement a bunch of piglit tests for
ARB_shader_image_load_store.  I've pushed the same code to the
image-load-store branch of my piglit tree [1].  It should exercise
pretty much the whole functionality exposed by the extension.

The large number of supported built-ins, texture targets and formats
leads to a combinatorial explosion in some tests giving over 8300
subtests in total when doing a full run.  Because of this some tests
implement a "quick" mode which is enabled when they are executed from
tests/quick.py that limits the search space to a subset of more
interesting combinations.  This brings down the total number of
subtests to some 1800 and the total run time to less than 25s on my
system, which seems about reasonable to me.

Maybe some things like the grid helper code introduced in patch 4
could be promoted to util/ if anyone else finds it useful, I don't
know, it has little dependencies on the rest of the image_load_store
code.

I've been running this branch on a Kepler card with the nVidia
proprietary driver (v331.38), and it's found quite a few bugs and
crashes -- you can see the HTML summary from an almost full run here
[2].  I also had the opportunity to run it shortly on an older radeon
card and the results seemed a lot less promising.

Thanks for your review.

 generated_tests/CMakeLists.txt                              |    6 +-
 generated_tests/gen_shader_image_load_store_tests.py        |  807 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/all.py                                                |   24 +++
 tests/quick.py                                              |    6 +
 tests/spec/CMakeLists.txt                                   |    1 +
 tests/spec/arb_shader_image_load_store/CMakeLists.gl.txt    |   35 +++
 tests/spec/arb_shader_image_load_store/CMakeLists.txt       |    1 +
 tests/spec/arb_shader_image_load_store/atomicity.c          |  326 ++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/bitcast.c            |  166 +++++++++++++++
 tests/spec/arb_shader_image_load_store/coherency.c          |  228 ++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/common.c             |  620 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/common.h             |  140 ++++++++++++
 tests/spec/arb_shader_image_load_store/dead-fragments.c     |  249 ++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/early-z.c            |  298 ++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/grid.c               |  445 ++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/grid.h               |  155 ++++++++++++++
 tests/spec/arb_shader_image_load_store/host-mem-barrier.c   | 1055 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/image.c              |  759 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/image.h              |  375 ++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/indexing.c           |  172 +++++++++++++++
 tests/spec/arb_shader_image_load_store/invalid.c            |  485 +++++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/layer.c              |  221 +++++++++++++++++++
 tests/spec/arb_shader_image_load_store/level.c              |  195 +++++++++++++++++
 tests/spec/arb_shader_image_load_store/max-images.c         |  270 +++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/max-size.c           |  197 +++++++++++++++++
 tests/spec/arb_shader_image_load_store/minmax.c             |   76 +++++++
 tests/spec/arb_shader_image_load_store/qualifiers.c         |  190 +++++++++++++++++
 tests/spec/arb_shader_image_load_store/restrict.c           |  179 ++++++++++++++++
 tests/spec/arb_shader_image_load_store/semantics.c          |  397 ++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/shader-mem-barrier.c |  222 +++++++++++++++++++
 tests/spec/arb_shader_image_load_store/state.c              |  480 +++++++++++++++++++++++++++++++++++++++++
 tests/spec/arb_shader_image_load_store/unused.c             |  178 ++++++++++++++++
 tests/util/piglit-shader.c                                  |   22 +-
 tests/util/piglit-shader.h                                  |    1 +
 34 files changed, 8978 insertions(+), 3 deletions(-)

[1] http://cgit.freedesktop.org/~currojerez/piglit/log/?h=image-load-store
[2] http://annarchy.freedesktop.org/~currojerez/piglit-summary-image_load_store-kepler/


More information about the Piglit mailing list