Mesa (master): genxml: Use llroundf() and store to appropriate type.

Matt Turner mattst88 at kemper.freedesktop.org
Mon May 16 18:03:40 UTC 2016


Module: Mesa
Branch: master
Commit: 1385018a72ece9f431fba565508ada400b469201
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=1385018a72ece9f431fba565508ada400b469201

Author: Matt Turner <mattst88 at gmail.com>
Date:   Fri May 13 13:25:41 2016 -0700

genxml: Use llroundf() and store to appropriate type.

Both functions return uint64_t, so I expect the masking/shifting should
be done on 64-bit types.

Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>

---

 src/intel/genxml/gen_pack_header.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/intel/genxml/gen_pack_header.py b/src/intel/genxml/gen_pack_header.py
index 9ef7122..47870b3 100644
--- a/src/intel/genxml/gen_pack_header.py
+++ b/src/intel/genxml/gen_pack_header.py
@@ -131,7 +131,7 @@ __gen_sfixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits)
    assert(min <= v && v <= max);
 #endif
 
-   const int32_t int_val = roundf(v * factor);
+   const int64_t int_val = llroundf(v * factor);
    const uint64_t mask = ~0ull >> (64 - (end - start + 1));
 
    return (int_val & mask) << start;
@@ -150,7 +150,7 @@ __gen_ufixed(float v, uint32_t start, uint32_t end, uint32_t fract_bits)
    assert(min <= v && v <= max);
 #endif
 
-   const uint32_t uint_val = roundf(v * factor);
+   const uint64_t uint_val = llroundf(v * factor);
 
    return uint_val << start;
 }




More information about the mesa-commit mailing list