X-Git-Url: https://git.libre-soc.org/?a=blobdiff_plain;f=src%2Fcompiler%2Fnir%2Fnir_intrinsics_c.py;h=3043ffe93d13d55ea7a4df7f9f6e784728e32ba8;hb=27e6117ee9f77ef40721f7757e181ddf93fc60dd;hp=9604fcdf623e3ec89247cdeb486befe7d73ee34b;hpb=a331d7d1cdfdc971f707fb6b1f71edbad622c804;p=mesa.git diff --git a/src/compiler/nir/nir_intrinsics_c.py b/src/compiler/nir/nir_intrinsics_c.py index 9604fcdf623..3043ffe93d1 100644 --- a/src/compiler/nir/nir_intrinsics_c.py +++ b/src/compiler/nir/nir_intrinsics_c.py @@ -1,3 +1,5 @@ +from functools import reduce +import operator template = """\ /* Copyright (C) 2018 Red Hat @@ -25,7 +27,7 @@ template = """\ #include "nir.h" const nir_intrinsic_info nir_intrinsic_infos[nir_num_intrinsics] = { -% for name, opcode in sorted(INTR_OPCODES.iteritems()): +% for name, opcode in sorted(INTR_OPCODES.items()): { .name = "${name}", .num_srcs = ${opcode.num_srcs}, @@ -36,6 +38,7 @@ const nir_intrinsic_info nir_intrinsic_infos[nir_num_intrinsics] = { % endif .has_dest = ${"true" if opcode.has_dest else "false"}, .dest_components = ${max(opcode.dest_components, 0)}, + .dest_bit_sizes = ${hex(reduce(operator.or_, opcode.bit_sizes, 0))}, .num_indices = ${opcode.num_indices}, % if opcode.indices: .index_map = { @@ -64,7 +67,7 @@ def main(): path = os.path.join(args.outdir, 'nir_intrinsics.c') with open(path, 'wb') as f: - f.write(Template(template).render(INTR_OPCODES=INTR_OPCODES)) + f.write(Template(template, output_encoding='utf-8').render(INTR_OPCODES=INTR_OPCODES, reduce=reduce, operator=operator)) if __name__ == '__main__': main()