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 > _______________________________________________ Piglit mailing list Piglit@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/piglit