llvmpipe: Expect increased exp precision on Windows

'Newer' versions of MSVCRT than 2013 appear to have fixed the bug around expf
precision which caused bb9e8c5090. It's not clear when this was
changed, but at least on Windows 10 machines with Visual Studio 2019,
expf behaves in line with other implementations.

As there is no clear way to test for the version of the VCRT in use,
simply mark this test as expected-pass rather than xfail.

Signed-off-by: Daniel Stone <daniels@collabora.com>
Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/4946>
This commit is contained in:
Daniel Stone 2020-04-16 23:27:41 +01:00 committed by Marge Bot
parent cf21b76383
commit 69ffbcb162
1 changed files with 4 additions and 2 deletions

View File

@ -468,9 +468,11 @@ test_unary(unsigned verbose, FILE *fp, const struct unary_test_t *test, unsigned
}
if (test->ref == &expf && util_inf_sign(testval) == -1) {
/* XXX: 64bits MSVCRT's expf(-inf) returns -inf instead of 0 */
/* Some older 64-bit MSVCRT versions return -inf instead of 0
* for expf(-inf). As detecting the VC runtime version is
* non-trivial, just ignore the test result. */
#if defined(_MSC_VER) && defined(_WIN64)
expected_pass = FALSE;
expected_pass = pass;
#endif
}