[Piglit] [WIP] Some ARB_transform_feedback3 tests

Ian Romanick idr at freedesktop.org
Fri Sep 27 16:40:08 PDT 2013


On 09/16/2013 07:54 AM, Topi Pohjolainen wrote:
> I started drafting tests for the new transform feedback mechanisms.
> So far I have exercised the use of interleaved and separate modes
> together (previously only one of the modes could be used at a time).
> I first wrote a test using fixed set of varyings and two buffers.
> Then I generalized it for more buffers asking the driver for limits.
> Both of course are not needed and I can merge them into a setup that
> people find useful.
> The last of the three types of test also uses multiple buffers but
> also multiple vertex streams - one per buffer and all originating
> from the same geometry shader invocation.
> 
> These tests pass on 4.3.0 NVIDIA 319.32 binary driver.
> 
> Any feedback is more than welcome. For example, is it better having
> the tests simpler and using fixed amount of streams, buffers and
> varyings?
> 
> I had in mind playing with instanced shaders next. Once I have tests
> for all the new functionality I thought looking at the corner and
> error cases - I have a feeling there are going to be quite a few
> such tests.

I've reviewed the first couple patches, and I'm trying to work through
patch 3.  It's... complex. :)  I think we'll want a test that does a
bunch of what your existing test does, but we'll want it to be easier to
understand.  I want to understand your existing code better before I try
to make any suggestions.

These are some fairly complicated tests (which are necessary), but we
also need some simpler tests.

 - We should have a test (usually called api-errors.c) that tries
everything in the spec that says "The error ... is generated if..." (or
similar).

 - We should have a test (usually called minmax.c) that check the every
GL_MAX_ defined by the spec has at least the minimum value defined in
the spec.  This test should also verify that the values are correct if
GL_ARB_gpu_shader5 is also exposed.

 - Some parser tests that try a bunch of valid and invalid combinations
of syntax added GL_ARB_gpu_shader5.

> Topi Pohjolainen (4):
>   util: buffer object probe
>   tests/spec: ARB_transform_feedback3 interleaved in two buffers
>   tests/spec: ARB_transform_feedback3 interleaved in separate buffers
>   tests/spec: ARB_transform_feedback3 interleaved in multiple streams
> 
>  tests/all.tests                                    |   6 +
>  tests/spec/CMakeLists.txt                          |   1 +
>  .../spec/arb_transform_feedback3/CMakeLists.gl.txt |  15 +
>  tests/spec/arb_transform_feedback3/CMakeLists.txt  |   1 +
>  .../ext_interleaved_single_gs_many_streams.c       | 290 ++++++++++++++++++
>  .../ext_interleaved_single_stream_many_buffers.c   | 334 +++++++++++++++++++++
>  .../ext_interleaved_two_bufs.c                     | 223 ++++++++++++++
>  tests/spec/arb_transform_feedback3/xfb3_common.h   |  48 +++
>  tests/spec/ext_transform_feedback/separate.c       |  30 +-
>  tests/util/piglit-util-gl-common.h                 |   4 +
>  tests/util/piglit-util-gl.c                        |  24 ++
>  11 files changed, 954 insertions(+), 22 deletions(-)
>  create mode 100644 tests/spec/arb_transform_feedback3/CMakeLists.gl.txt
>  create mode 100644 tests/spec/arb_transform_feedback3/CMakeLists.txt
>  create mode 100644 tests/spec/arb_transform_feedback3/ext_interleaved_single_gs_many_streams.c
>  create mode 100644 tests/spec/arb_transform_feedback3/ext_interleaved_single_stream_many_buffers.c
>  create mode 100644 tests/spec/arb_transform_feedback3/ext_interleaved_two_bufs.c
>  create mode 100644 tests/spec/arb_transform_feedback3/xfb3_common.h
> 



More information about the Piglit mailing list