[Mesa-dev] [PATCH] mesa: fix a couple issues with U_FIXED, I_FIXED macros

Brian Paul brianp at vmware.com
Sat Oct 19 16:34:37 CEST 2013


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.
---
 src/mesa/main/macros.h |    6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/mesa/main/macros.h b/src/mesa/main/macros.h
index 880c656..379f756 100644
--- a/src/mesa/main/macros.h
+++ b/src/mesa/main/macros.h
@@ -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));
 }
 /*@}*/
 
-- 
1.7.10.4



More information about the mesa-dev mailing list