mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 13:28:06 +02:00
util/tests: Disable half-float NaN test on hppa/old-mips
Bug: https://bugs.gentoo.org/908079 Fixes:067023dce2("util: Add some unit tests of the half-float conversions.") Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26991> (cherry picked from commit5b7c733902)
This commit is contained in:
parent
c24841d1e2
commit
685cc5f6f2
2 changed files with 33 additions and 8 deletions
|
|
@ -504,7 +504,7 @@
|
|||
"description": "util/tests: Disable half-float NaN test on hppa/old-mips",
|
||||
"nominated": true,
|
||||
"nomination_type": 1,
|
||||
"resolution": 0,
|
||||
"resolution": 1,
|
||||
"main_sha": null,
|
||||
"because_sha": "067023dce2cae5ef44d2b8cd52a81aa880256037",
|
||||
"notes": null
|
||||
|
|
|
|||
|
|
@ -46,18 +46,35 @@ static bool issignaling(float x)
|
|||
}
|
||||
#endif
|
||||
|
||||
/* Sanity test our test values */
|
||||
TEST(half_to_float_test, nan_test)
|
||||
/* The sign of the bit for signaling is different on some old processors
|
||||
* (PA-RISC, old MIPS without IEEE-754-2008 support).
|
||||
*
|
||||
* Disable the tests on those platforms, because it's not clear how to
|
||||
* correctly handle NaNs when the CPU and GPU differ in their convention.
|
||||
*/
|
||||
#if DETECT_ARCH_HPPA || ((DETECT_ARCH_MIPS || DETECT_ARCH_MIPS64) && !defined __mips_nan2008)
|
||||
#define IEEE754_2008_NAN 0
|
||||
#else
|
||||
#define IEEE754_2008_NAN 1
|
||||
#endif
|
||||
|
||||
/* Sanity test our inf test values */
|
||||
TEST(half_to_float_test, inf_test)
|
||||
{
|
||||
EXPECT_TRUE(isinf(TEST_POS_INF));
|
||||
EXPECT_TRUE(isinf(TEST_NEG_INF));
|
||||
}
|
||||
|
||||
/* Make sure that our 32-bit float nan test value we're using is a
|
||||
* non-signaling NaN.
|
||||
*/
|
||||
#if IEEE754_2008_NAN
|
||||
TEST(half_to_float_test, nan_test)
|
||||
#else
|
||||
TEST(half_to_float_test, DISABLED_nan_test)
|
||||
#endif
|
||||
{
|
||||
EXPECT_TRUE(isnan(TEST_NAN));
|
||||
/* Make sure that our 32-bit float nan test value we're using is a
|
||||
* non-signaling NaN. The sign of the bit for signaling was apparently
|
||||
* different on some old processors (PA-RISC, MIPS?). This test value should
|
||||
* cover Intel, ARM, and PPC, for sure.
|
||||
*/
|
||||
EXPECT_FALSE(issignaling(TEST_NAN));
|
||||
}
|
||||
|
||||
|
|
@ -82,12 +99,20 @@ test_half_to_float_limits(float (*func)(uint16_t))
|
|||
}
|
||||
|
||||
/* Test the optionally HW instruction-using path. */
|
||||
#if IEEE754_2008_NAN
|
||||
TEST(half_to_float_test, half_to_float_test)
|
||||
#else
|
||||
TEST(half_to_float_test, DISABLED_half_to_float_test)
|
||||
#endif
|
||||
{
|
||||
test_half_to_float_limits(_mesa_half_to_float);
|
||||
}
|
||||
|
||||
#if IEEE754_2008_NAN
|
||||
TEST(half_to_float_test, half_to_float_slow_test)
|
||||
#else
|
||||
TEST(half_to_float_test, DISABLED_half_to_float_slow_test)
|
||||
#endif
|
||||
{
|
||||
test_half_to_float_limits(_mesa_half_to_float_slow);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue