Mixing the two is a long-standing recipe for errors in Python 2, so much so that Python 3 now completely separates them.
This commit stops treating both as if they were the same, and in the process makes the script compatible with both Python 2 and 3. Signed-off-by: Mathieu Bridon <boche...@daitauha.fr> --- src/compiler/nir/nir_algebraic.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/compiler/nir/nir_algebraic.py b/src/compiler/nir/nir_algebraic.py index a84c41a78f..5baeea88af 100644 --- a/src/compiler/nir/nir_algebraic.py +++ b/src/compiler/nir/nir_algebraic.py @@ -35,6 +35,12 @@ import traceback from nir_opcodes import opcodes +if sys.version_info < (3, 0): + string_type = unicode + +else: + string_type = str + _type_re = re.compile(r"(?P<type>int|uint|bool|float)?(?P<bits>\d+)?") def type_bits(type_str): @@ -66,11 +72,14 @@ class VarSet(object): class Value(object): @staticmethod def create(val, name_base, varset): + if isinstance(val, bytes): + val = val.decode('utf-8') + if isinstance(val, tuple): return Expression(val, name_base, varset) elif isinstance(val, Expression): return val - elif isinstance(val, (str, unicode)): + elif isinstance(val, string_type): return Variable(val, name_base, varset) elif isinstance(val, (bool, int, long, float)): return Constant(val, name_base) -- 2.17.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev