[Piglit] [PATCH 2/3] all.tests: remove MSAA integer tests

Paul Berry stereotype441 at gmail.com
Sun Oct 7 16:41:24 PDT 2012

On 6 October 2012 18:49, Marek Olšák <maraeo at gmail.com> wrote:

> AFAIK, integer formats cannot be resolved, but only one sample is chosen
> and
> copied to the destination. However the chosen sample might not be at the
> center
> of the pixel, so the tests might never pass.

According to my reading of the spec, integer format MSAA resolves should
work fine--the samples should be averaged together, just as they are for
fixed-point and floating-point formats.  So unless I'm misreading the spec,
these tests should pass.  And in fact, on Intel hardware with Mesa they do.

I'm really interested in keeping these tests around because on Intel
hardware, the MSAA resolve is performed by a special-purpose shader that's
generated on the fly by the driver.  That shader has to be subtly different
when using integer formats (to avoid overflow, it has to use the integer
AVG instruction, rather than floating point ADDs followed by a division).
These piglit tests are, at the moment, the only thing verifying that we've
handled the integer case correctly.

Integer format MSAA is a rare, but not unheard of, use case (in fact, GL
3.2 introduced a constant, GL_MAX_INTEGER_SAMPLES, to allow the driver to
advertise its level of support for it).  So I'd really rather not drop
these tests if we can avoid it.

I'm guessing that you want to drop the tests because they're failing on a
particular piece of hardware.  Have we ruled out the possibility of a
driver bug?  If there's no driver bug (e.g. the tests are failing because
of a hardware limitation), I'd recommend modifying the driver to report
FRAMEBUFFER_UNSUPPORTED for those formats that don't work (we currently do
this on Intel chipsets to work around some hardware bugs).  The multisample
formats tests will automatically skip any formats that report

> ---
>  tests/all.tests |    2 --
>  1 file changed, 2 deletions(-)
> diff --git a/tests/all.tests b/tests/all.tests
> index ac0f65b..caaba11 100644
> --- a/tests/all.tests
> +++ b/tests/all.tests
> @@ -1731,7 +1731,6 @@
> ext_texture_integer['fbo_integer_readpixels_sint_uint'] =
> plain_test('ext_textur
>  ext_texture_integer['getteximage-clamping'] =
> concurrent_test('ext_texture_integer-getteximage-clamping')
>  ext_texture_integer['getteximage-clamping GL_ARB_texture_rg'] =
> concurrent_test('ext_texture_integer-getteximage-clamping
> GL_ARB_texture_rg')
>  ext_texture_integer['texture_integer_glsl130'] =
> concurrent_test('ext_texture_integer-texture_integer_glsl130')
> -add_msaa_formats_tests(ext_texture_integer, 'GL_EXT_texture_integer')
>  arb_texture_rg = Group()
>  spec['ARB_texture_rg'] = arb_texture_rg
> @@ -1746,7 +1745,6 @@ add_fbo_clear_extension(arb_texture_rg,
> 'GL_ARB_texture_rg-float', 'fbo-clear-fo
>  add_fbo_blending_extension(arb_texture_rg, 'GL_ARB_texture_rg-float',
> 'fbo-blending-formats-float')
>  add_fbo_alphatest_extension(arb_texture_rg, 'GL_ARB_texture_rg-float',
> 'fbo-alphatest-formats-float')
>  add_msaa_formats_tests(arb_texture_rg, 'GL_ARB_texture_rg')
> -add_msaa_formats_tests(arb_texture_rg, 'GL_ARB_texture_rg-int')
>  add_msaa_formats_tests(arb_texture_rg, 'GL_ARB_texture_rg-float')
>  add_texwrap_test2(arb_texture_rg, '2D', 'GL_R8')
>  add_texwrap_test2(arb_texture_rg, '2D', 'GL_RG8')
> --
> _______________________________________________
> Piglit mailing list
> Piglit at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/piglit
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/piglit/attachments/20121007/902123dd/attachment.html>

More information about the Piglit mailing list