llvmpipe: fix lp_test_arit denorm handling
authorRoland Scheidegger <sroland@vmware.com>
Mon, 24 Nov 2014 22:32:12 +0000 (23:32 +0100)
committerRoland Scheidegger <sroland@vmware.com>
Mon, 24 Nov 2014 23:29:29 +0000 (00:29 +0100)
commit8148a06b8fdb734f7f9a11ce787ee6505939fdaa
tree2f456399b759f6556a6871072f00f88cd7f36988
parent93d30ff5d628770fcff5a931401fe76fbd8242df
llvmpipe: fix lp_test_arit denorm handling

llvmpipe disables denorms on purpose (on x86/sse only), because denorms are
generally neither required nor desired for graphic apis (and in case of d3d10,
they are forbidden).
However, this caused some arithmetic tests using denorms to fail on some
systems, because the reference did not generate the same results anymore.
(It did not fail on all systems - behavior of these math functions is sort
of undefined when called with non-standard floating point mode, hence the
result differing depending on implementation and in particular the sse
capabilities.)
So, for the reference, simply flush all (input/output) denorms manually
to zero in this case.

This fixes https://bugs.freedesktop.org/show_bug.cgi?id=67672.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
src/gallium/drivers/llvmpipe/lp_test_arit.c