mesa: fix a couple issues with U_FIXED, I_FIXED macros

Silence a bunch of MSVC type conversion warnings.

Changed return type of S_FIXED to int32_t (signed).  The result
is the same.  It just seems more intuitive that a signed conversion
function should return a signed value.

Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
This commit is contained in:
Brian Paul 2013-10-19 08:21:38 -06:00
parent 6767c56e6d
commit f0d4636d9c

View file

@ -193,7 +193,7 @@ static INLINE uint32_t
U_FIXED(float value, uint32_t frac_bits)
{
value *= (1 << frac_bits);
return value < 0 ? 0 : value;
return value < 0.0f ? 0 : (uint32_t) value;
}
/**
@ -201,10 +201,10 @@ U_FIXED(float value, uint32_t frac_bits)
*
* \param frac_bits The number of bits used to store the fractional part.
*/
static INLINE uint32_t
static INLINE int32_t
S_FIXED(float value, uint32_t frac_bits)
{
return value * (1 << frac_bits);
return (int32_t) (value * (1 << frac_bits));
}
/*@}*/