mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 15:38:09 +02:00
progs/gallium/unit: Skip test cases which cannot be represented in 4ub.
This commit is contained in:
parent
709dffcd12
commit
6718f03258
1 changed files with 23 additions and 4 deletions
|
|
@ -626,13 +626,27 @@ test_format_pack_4f(const struct util_format_test_case *test)
|
|||
}
|
||||
|
||||
|
||||
static void
|
||||
static boolean
|
||||
convert_4f_to_4ub(uint8_t *dst, const double *src)
|
||||
{
|
||||
unsigned i;
|
||||
boolean accurate = TRUE;
|
||||
|
||||
for (i = 0; i < 4; ++i)
|
||||
dst[i] = CLAMP(src[i], 0.0, 1.0) * 255.0;
|
||||
for (i = 0; i < 4; ++i) {
|
||||
if (src[i] < 0.0) {
|
||||
accurate = FALSE;
|
||||
dst[i] = 0;
|
||||
}
|
||||
else if (src[i] > 1.0) {
|
||||
accurate = FALSE;
|
||||
dst[i] = 255;
|
||||
}
|
||||
else {
|
||||
dst[i] = src[i] * 255.0;
|
||||
}
|
||||
}
|
||||
|
||||
return accurate;
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -670,7 +684,12 @@ test_format_pack_4ub(const struct util_format_test_case *test)
|
|||
unsigned i;
|
||||
boolean success;
|
||||
|
||||
convert_4f_to_4ub(unpacked, test->unpacked);
|
||||
if (!convert_4f_to_4ub(unpacked, test->unpacked)) {
|
||||
/*
|
||||
* Skip test cases which cannot be represented by four unorm bytes.
|
||||
*/
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
memset(packed, 0, sizeof packed);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue