[Piglit] [PATCH] New test for ARB_color_buffer_float
Vinson Lee
vlee at vmware.com
Wed Aug 25 13:56:35 PDT 2010
> -----Original Message-----
> From: piglit-bounces+vlee=vmware.com at lists.freedesktop.org [mailto:piglit-
> bounces+vlee=vmware.com at lists.freedesktop.org] On Behalf Of Luca Barbieri
> Sent: Wednesday, August 25, 2010 7:57 AM
> To: Eric Anholt; Marek Olšák
> Cc: piglit
> Subject: [Piglit] [PATCH] New test for ARB_color_buffer_float
>
> A new test for ARB_color_buffer_float is attached, which currently has
> no tests in either mesa-demos or piglit.
> ARB_texture_float is required to test 16-bit and 32-bit floating point
> targets, and otherwise only 8-bit fixed-point will tested.
>
> Mesa does not support this extension, but the proprietary drivers from
> both nVidia and ATI advertise it, and have been used to write this
> test.
>
> Note that both nVidia and ATI drivers are nonconformant in serious
> ways (and the bugs are all different between them).
>
> This test detects nVidia and ATI drivers and ignores all knows bugs,
> so that it should pass on both (but it still loudly complains about
> the bugs).
> This is intended to allow to check that the test itself is correct,
> until an actually conformant implementation becomes available.
>
I suggest that his test be broken up into multiple tests, with each smaller test passing on at least one existing driver. That would still allow a test to be checked for correctness somewhere and allow the removal of the explicit driver checks.
> Note that the nVidia driver was tested on nv40, and the situation
> might be better on nv50 and Fermi.
> The ATI driver was instead tested on Cypress, and thus is most likely
> broken on all cards.
>
> The main (and essentially only) feature of this extension is the
> ability to control clamping to [0, 1] in several places.
> This is really tricky to get right (as ATI and nVidia's failure to do
> so shows), and thus the test tries a lot of variations to try to
> maximize confidence in the correctness of an implementation.
>
> It would be nice to test that the alpha test and polygon smoothing are
> correct too (i.e. they happen after fragment clamping and before blend
> clamping, if any), and improvements in this direction would be
> welcome.
> Tests for other target formats would also be nice to have, especially
> for different cases like unnormalized integer and unsigned floating
> point.
>
> The test is somewhat preliminary and could use some code cleanups, as
> well as testing on i965, r300, r500, nv50, Fermi with the proprietary
> drivers.
> Also having a conformant implementation would help in making sure the
> test is really correct: for now testing on both nVidia and ATI drivers
> kind of approximates that.
>
> It includes relevant quotes from the specification, which I believe is
> OK under fair use and the fact that it's available on a public server
> anyway. They can be easily removed if desired.
>
> Is this OK for inclusion?
More information about the Piglit
mailing list