[Mesa-dev] [PATCH v4 00/22] auto-generate pack/unpack functions

Iago Toral itoral at igalia.com
Wed Jan 7 23:28:05 PST 2015


On Thu, 2015-01-08 at 08:20 +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-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.

As usual, patch 15 "mesa: Autogenerate format_unpack.c" was held for
moderation by the mailing list. It is available in the githib repo
above.

Iago

> 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
> 




More information about the mesa-dev mailing list