[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