On 10/15/2013 05:32 PM, Ian Romanick wrote:
From: Ian Romanick <[email protected]>

This covers most of the errors mentioned in the spec that aren't
already covered in cannot-bind-when-active.c and gen-names-only.c.
Most of the other errors should be covered by existing
EXT_transform_feedback tests.

Mesa currently passes all of these tests.

NVIDIA (304.64 on GTX 260) fails several subtests.

     Pause active feedback only: Incorrectly generates error in
     glEndTransformFeedback.

     TransformFeedbackVaryings only when inactive: Doesn't generate any
     errors when it should.

     Draw only from "ended" object: Generates GL_INVALID_VALUE instead
     of GL_INVALID_OPERATION.

AMD has not been tested.

v2: Convert to use piglit subtest reporting.  Fix fs_only_prog to
actually only have a fragment shader attached.

v3: Quite significant re-write.  Per Paul's suggestion, each of the
tests is no a subtest that can be individually selected from the command
line.  This uses infrastructure in piglit-framework-gl to handle the
subtests.  This also eliminates the work-around for NVIDIA's
glEndTransformFeedback-while-paused bug.

The code currently in all.tests for getting the list of subtests is
just a place holder.  We'll want to refactor this out somewhere else
before pushing.


Agreed. Let's create a utility function before pushing.


+static enum piglit_result draw_from_ended_object_only(void);
+
+static const struct piglit_gl_subtest subtests[] = {
+       {
+               "Paired begin and end",
+               "paired-begin-end",
+               paired_begin_end
+       },
+       {
+               "Pause active feedback only",
+               "pause-active-only",
+               pause_active_only
+       },
+       {
+               "Resume paused feedback only",
+               "resume-paused-only",
+               resume_paused_only
+       },

[...]

+       {
+               NULL,
+               NULL,
+               NULL
+       }
+};
+
+PIGLIT_GL_TEST_CONFIG_BEGIN
+
+       config.supports_gl_compat_version = 10;
+       config.window_visual = PIGLIT_GL_VISUAL_RGB;
+       config.subtests = subtests;
+
+PIGLIT_GL_TEST_CONFIG_END

I really like how your subtest work looks. This will bring us closer
to uniformity among piglit tests, and simplify all.tests for many future tests.

I'm not familiar with the test body itself, so I refrain from reviewing this 
one.

_______________________________________________
Piglit mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/piglit

Reply via email to