[Mesa-dev] [PATCH v3 00/24] auto-generate pack/unpack functions
Iago Toral
itoral at igalia.com
Tue Dec 9 04:12:55 PST 2014
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
>
More information about the mesa-dev
mailing list