[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