[Mesa-dev] [PATCH v3 00/24] auto-generate pack/unpack functions

Iago Toral Quiroga itoral at igalia.com
Tue Dec 9 04:06:43 PST 2014


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

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

-- 
1.9.1



More information about the mesa-dev mailing list