mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-22 20:00:10 +01:00
tgsi: convert CHECK_INF_OR_NAN to inline function
And disable with if (0). Inf/NaN can occur normally during program execution. Only enable the check code when needed during debugging.
This commit is contained in:
parent
2ec50d256d
commit
9ca6cf0f54
1 changed files with 17 additions and 8 deletions
|
|
@ -450,12 +450,20 @@ static const union tgsi_exec_channel ZeroVec =
|
||||||
{ { 0.0, 0.0, 0.0, 0.0 } };
|
{ { 0.0, 0.0, 0.0, 0.0 } };
|
||||||
|
|
||||||
|
|
||||||
#define CHECK_INF_OR_NAN(chan) do {\
|
/**
|
||||||
assert(!util_is_inf_or_nan((chan)->f[0]));\
|
* Assert that none of the float values in 'chan' are infinite or NaN.
|
||||||
assert(!util_is_inf_or_nan((chan)->f[1]));\
|
* NaN and Inf may occur normally during program execution and should
|
||||||
assert(!util_is_inf_or_nan((chan)->f[2]));\
|
* not lead to crashes, etc. But when debugging, it's helpful to catch
|
||||||
assert(!util_is_inf_or_nan((chan)->f[3]));\
|
* them.
|
||||||
} while (0)
|
*/
|
||||||
|
static INLINE void
|
||||||
|
check_inf_or_nan(const union tgsi_exec_channel *chan)
|
||||||
|
{
|
||||||
|
assert(!util_is_inf_or_nan((chan)->f[0]));
|
||||||
|
assert(!util_is_inf_or_nan((chan)->f[1]));
|
||||||
|
assert(!util_is_inf_or_nan((chan)->f[2]));
|
||||||
|
assert(!util_is_inf_or_nan((chan)->f[3]));
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
|
|
@ -1219,8 +1227,9 @@ store_dest(struct tgsi_exec_machine *mach,
|
||||||
int offset = 0; /* indirection offset */
|
int offset = 0; /* indirection offset */
|
||||||
int index;
|
int index;
|
||||||
|
|
||||||
if (dst_datatype == TGSI_EXEC_DATA_FLOAT) {
|
/* for debugging */
|
||||||
CHECK_INF_OR_NAN(chan);
|
if (0 && dst_datatype == TGSI_EXEC_DATA_FLOAT) {
|
||||||
|
check_inf_or_nan(chan);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* There is an extra source register that indirectly subscripts
|
/* There is an extra source register that indirectly subscripts
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue