This is the first of two series that aim to address: https://bugs.freedesktop.org/show_bug.cgi?id=84566
A branch with this series is available here: https://github.com/Igalia/mesa/tree/itoral-autogen-packing-review-v4 Links to previous versions of the series: v3: http://lists.freedesktop.org/archives/mesa-dev/2014-December/072274.html v2: http://lists.freedesktop.org/archives/mesa-dev/2014-December/071622.html v1: http://lists.freedesktop.org/archives/mesa-dev/2014-November/070898.html Tested on i965, classic swrast and gallium (radeon, nouveau, llvmpipe) without regressions. Patches that need review: 2, 8, 12-15, 17 - Patches 2 and 12 were originally written by Jason, so I guess we want somebody else to review these besides him. - Patches 14-15 were also originally written by Jason, but they have gone through plenty of changes so maybe it is okay if only Jason reviews them. Iago Toral Quiroga (3): mesa: Fix incorrect assertion in init_teximage_fields_ms swrast: Remove unused variable. mesa: Let _mesa_get_format_base_format also handle mesa_array_format. Jason Ekstrand (9): mesa: Fix clamping to -1.0 in snorm_to_float mesa: Fix packing/unpacking of MESA_FORMAT_R5G6B5_UNORM mesa/colormac: Remove an unused macro mesa: Fix A1R5G5B5 packing/unpacking mesa/format_utils: Prefix and expose the conversion helper functions main: Add a concept of an array format mesa: Add a _mesa_is_format_color_format helper mesa: Autogenerate most of format_pack.c mesa: Autogenerate format_unpack.c Samuel Iglesias Gonsalvez (10): mesa: Fix get_texbuffer_format(). mesa: Fix _mesa_swizzle_and_convert integer conversions to clamp properly configure: require python mako module mesa: Add _mesa_pack_uint_rgba_row() format conversion function mesa/format_pack: Add _mesa_pack_int_rgba_row() mesa/formats: add new mesa formats and their pack/unpack functions. mesa: use format conversion functions in swrast mesa/pack: use autogenerated format_pack functions mesa/main/pack_tmp.h: Add float conversion support mesa/pack: refactor _mesa_pack_rgba_span_float() configure.ac | 2 + docs/install.html | 6 +- m4/ax_check_python_mako_module.m4 | 61 + src/mesa/Makefile.am | 18 + src/mesa/Makefile.sources | 6 +- src/mesa/SConscript | 14 + src/mesa/main/.gitignore | 2 + src/mesa/main/colormac.h | 3 - src/mesa/main/format_info.py | 16 + src/mesa/main/format_pack.c | 2994 ------------------------- src/mesa/main/format_pack.h | 6 + src/mesa/main/format_pack.py | 1124 ++++++++++ src/mesa/main/format_parser.py | 47 + src/mesa/main/format_unpack.c | 4400 ------------------------------------- src/mesa/main/format_unpack.py | 895 ++++++++ src/mesa/main/format_utils.c | 302 +-- src/mesa/main/format_utils.h | 165 ++ src/mesa/main/formats.c | 271 ++- src/mesa/main/formats.csv | 13 + src/mesa/main/formats.h | 156 +- src/mesa/main/pack.c | 2111 +++--------------- src/mesa/main/pack_tmp.h | 76 +- src/mesa/main/teximage.c | 6 +- src/mesa/main/texstore.c | 2 +- src/mesa/swrast/s_drawpix.c | 3 - src/mesa/swrast/s_texfetch.c | 13 + src/mesa/swrast/s_texfetch_tmp.h | 1359 +----------- 27 files changed, 3443 insertions(+), 10628 deletions(-) create mode 100644 m4/ax_check_python_mako_module.m4 delete mode 100644 src/mesa/main/format_pack.c create mode 100644 src/mesa/main/format_pack.py delete mode 100644 src/mesa/main/format_unpack.c create mode 100644 src/mesa/main/format_unpack.py -- 1.9.1 _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev