[Mesa-dev] [PATCH 10/26] python: Use explicit integer divisions

Mathieu Bridon bochecha at daitauha.fr
Thu Jul 5 13:17:41 UTC 2018


In Python 2, divisions return an integer:

    >>> 32 / 4
    8

In Python 3 though, they return floats:

    >>> 32 / 4
    8.0

Explicitly converting to integers make the scripts compatible with both
Python 2 and 3.

Signed-off-by: Mathieu Bridon <bochecha at daitauha.fr>
---
 src/gallium/auxiliary/util/u_format_pack.py  | 2 +-
 src/gallium/auxiliary/util/u_format_parse.py | 4 ++--
 src/mapi/glapi/gen/glX_proto_send.py         | 2 +-
 src/mesa/main/format_info.py                 | 2 +-
 src/mesa/main/format_pack.py                 | 6 +++---
 src/mesa/main/format_unpack.py               | 6 +++---
 6 files changed, 11 insertions(+), 11 deletions(-)

diff --git a/src/gallium/auxiliary/util/u_format_pack.py b/src/gallium/auxiliary/util/u_format_pack.py
index 7a952a48b3..1cfd85fb7f 100644
--- a/src/gallium/auxiliary/util/u_format_pack.py
+++ b/src/gallium/auxiliary/util/u_format_pack.py
@@ -240,7 +240,7 @@ def value_to_native(type, value):
             return truncate_mantissa(value, 23)
         return value
     if type.type == FIXED:
-        return int(value * (1 << (type.size/2)))
+        return int(value * (1 << int(type.size/2)))
     if not type.norm:
         return int(value)
     if type.type == UNSIGNED:
diff --git a/src/gallium/auxiliary/util/u_format_parse.py b/src/gallium/auxiliary/util/u_format_parse.py
index c0456f6d15..315c771081 100644
--- a/src/gallium/auxiliary/util/u_format_parse.py
+++ b/src/gallium/auxiliary/util/u_format_parse.py
@@ -76,7 +76,7 @@ class Channel:
         if self.type == FLOAT:
             return VERY_LARGE
         if self.type == FIXED:
-            return (1 << (self.size/2)) - 1
+            return (1 << int(self.size/2)) - 1
         if self.norm:
             return 1
         if self.type == UNSIGNED:
@@ -90,7 +90,7 @@ class Channel:
         if self.type == FLOAT:
             return -VERY_LARGE
         if self.type == FIXED:
-            return -(1 << (self.size/2))
+            return -(1 << int(self.size/2))
         if self.type == UNSIGNED:
             return 0
         if self.norm:
diff --git a/src/mapi/glapi/gen/glX_proto_send.py b/src/mapi/glapi/gen/glX_proto_send.py
index a920ecc012..28f8a0d67b 100644
--- a/src/mapi/glapi/gen/glX_proto_send.py
+++ b/src/mapi/glapi/gen/glX_proto_send.py
@@ -809,7 +809,7 @@ generic_%u_byte( GLint rop, const void * ptr )
                     # Dividing by the array size (1 for
                     # non-arrays) gives us this.
 
-                    s = p.size() / p.get_element_count()
+                    s = int(p.size() / p.get_element_count())
                     print("       %s __glXReadReply(dpy, %s, %s, %s);" % (return_str, s, p.name, aa))
                     got_reply = 1
 
diff --git a/src/mesa/main/format_info.py b/src/mesa/main/format_info.py
index bbecaa2451..285bf13e1b 100644
--- a/src/mesa/main/format_info.py
+++ b/src/mesa/main/format_info.py
@@ -198,7 +198,7 @@ for fmat in formats:
       chan = fmat.array_element()
       norm = chan.norm or chan.type == parser.FLOAT
       print('      .ArrayFormat = MESA_ARRAY_FORMAT({0}),'.format(', '.join([
-         str(chan.size / 8),
+         str(int(chan.size / 8)),
          str(int(chan.sign)),
          str(int(chan.type == parser.FLOAT)),
          str(int(norm)),
diff --git a/src/mesa/main/format_pack.py b/src/mesa/main/format_pack.py
index d3c8d24acd..3b69580a93 100644
--- a/src/mesa/main/format_pack.py
+++ b/src/mesa/main/format_pack.py
@@ -356,7 +356,7 @@ _mesa_pack_ubyte_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          pack_ubyte_${f.short_name()}(src[i], d);
-         d += ${f.block_size() / 8};
+         d += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
@@ -388,7 +388,7 @@ _mesa_pack_uint_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          pack_uint_${f.short_name()}(src[i], d);
-         d += ${f.block_size() / 8};
+         d += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
@@ -418,7 +418,7 @@ _mesa_pack_float_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          pack_float_${f.short_name()}(src[i], d);
-         d += ${f.block_size() / 8};
+         d += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
diff --git a/src/mesa/main/format_unpack.py b/src/mesa/main/format_unpack.py
index 286c08e621..feddaed5cd 100644
--- a/src/mesa/main/format_unpack.py
+++ b/src/mesa/main/format_unpack.py
@@ -322,7 +322,7 @@ _mesa_unpack_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          unpack_float_${f.short_name()}(s, dst[i]);
-         s += ${f.block_size() / 8};
+         s += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
@@ -355,7 +355,7 @@ _mesa_unpack_ubyte_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          unpack_ubyte_${f.short_name()}(s, dst[i]);
-         s += ${f.block_size() / 8};
+         s += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
@@ -397,7 +397,7 @@ _mesa_unpack_uint_rgba_row(mesa_format format, GLuint n,
    case ${f.name}:
       for (i = 0; i < n; ++i) {
          unpack_int_${f.short_name()}(s, dst[i]);
-         s += ${f.block_size() / 8};
+         s += ${int(f.block_size() / 8)};
       }
       break;
 %endfor
-- 
2.17.1



More information about the mesa-dev mailing list