On Tue, 2014-12-09 at 13:06 +0100, Iago Toral Quiroga wrote: > 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-v3
As with the previous versions this patch was held for moderation due to its size: [PATCH v3 15/24] mesa: Autogenerate format_unpack.c If it does not reach the list in the end it can be reviewed from the link above. Iago > Links to previous versions of the series: > v2: http://lists.freedesktop.org/archives/mesa-dev/2014-December/071622.html > v1: http://lists.freedesktop.org/archives/mesa-dev/2014-November/070898.html > > Main changes in v3: > - Do not use a union/struct and bitmasks to implement and access > mesa_array_format, that won't work on big-endian as pointed out by Ian. > The new implementation drops the union/struct and accesses > mesa_array_format as a uint32_t bitfield only. > - Remove the unused float_to_uint helper (last patch in the series) > > Notes: > - Patches 1, 3-7, 9 are already reviewed-by Ian. > > Tested on i965, classic swrast and gallium (radeon, nouveau, llvmpipe) without > regressions. > > 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/format_utils: Fix a bug in unorm_to_float helper function > 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 (12): > 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: Add non-normalized formats support for ubyte packing functions > 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() > main: remove unused float_to_uint() function > > configure.ac | 2 + > docs/install.html | 6 +- > m4/ax_check_python_mako_module.m4 | 77 + > src/mesa/Makefile.am | 18 + > src/mesa/Makefile.sources | 4 +- > 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 | 1118 ++++++++++ > src/mesa/main/format_parser.py | 47 + > src/mesa/main/format_unpack.c | 4400 > ------------------------------------- > src/mesa/main/format_unpack.py | 891 ++++++++ > src/mesa/main/format_utils.c | 271 +-- > src/mesa/main/format_utils.h | 131 ++ > 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, 3403 insertions(+), 10607 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 > _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev