[Piglit] [PATCH v3 5/5] arb_transform_feedback2: Misc. API error checks

Chad Versace chad.versace at linux.intel.com
Tue Oct 22 01:59:55 CEST 2013


On 10/15/2013 05:32 PM, Ian Romanick wrote:
> From: Ian Romanick <ian.d.romanick at intel.com>
>
> 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.



More information about the Piglit mailing list