[Mesa-dev] [PATCH v2 00/23] auto-generate pack/unpack functions

Iago Toral Quiroga itoral at igalia.com
Mon Dec 1 03:04:09 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-v2

Link to the original series:
http://lists.freedesktop.org/archives/mesa-dev/2014-November/070898.html

Main changes in v2:
  - Fixed auto-generation for a2r10g10b10, removed hand coded implementation.
  - Updated docs and configure to requite mako as a build dependency.
  - Expanded the patch to mesa_swizzle_and_convert to clamp in all integer
    conversions that require it.
  - Fixed out-of-tree builds.
  - Fixed handling of integer formats.
  - Merged format_conver.py into format_parser.py.

Jason, we decided to keep the support for GL_ABGR_EXT/GL_UNSIGNED_SHORT_5_5_5_1,
  GL_ABGR_EXT/GL_UNSIGNED_SHORT_1_5_5_5_REV,
  GL_ABGR_EXT/GL_UNSIGNED_INT_2_10_10_10_REV,
  GL_ABGR_EXT/GL_UNSIGNED_INT_10_10_10_2 in this series, since these types
  are currently supported and removing them would be a change in behavior.
  When we send the second series to address format conversion we will
  include a separate patch at the end to remove these types. If you prefer this
  to be handled differently, let us know.

Patch 11 is optional now that we no longer need to pass a base format to
_mesa_format_convert (implemented in the second series), but still looks like
a good idea to me.

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
  mesa: 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 (11):
  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()

 configure.ac                       |    2 +
 docs/install.html                  |    6 +-
 m4/ax_check_python_mako_module.m4  |   56 +
 src/mesa/Makefile.am               |   26 +
 src/mesa/Makefile.sources          |    4 +-
 src/mesa/main/colormac.h           |    3 -
 src/mesa/main/format_info.py       |   41 +
 src/mesa/main/format_pack.c        | 2994 ------------------------
 src/mesa/main/format_pack.c.mako   | 1102 +++++++++
 src/mesa/main/format_pack.h        |    6 +
 src/mesa/main/format_parser.py     |   71 +
 src/mesa/main/format_unpack.c      | 4400 ------------------------------------
 src/mesa/main/format_unpack.c.mako |  881 ++++++++
 src/mesa/main/format_utils.c       |  262 +--
 src/mesa/main/format_utils.h       |  130 ++
 src/mesa/main/formats.c            |  262 ++-
 src/mesa/main/formats.csv          |   13 +
 src/mesa/main/formats.h            |   82 +-
 src/mesa/main/pack.c               | 2111 +++--------------
 src/mesa/main/pack_tmp.h           |   76 +-
 src/mesa/main/python_mako.py       |   17 +
 src/mesa/main/run_mako.py          |    7 +
 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, 3338 insertions(+), 10597 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.c.mako
 delete mode 100644 src/mesa/main/format_unpack.c
 create mode 100644 src/mesa/main/format_unpack.c.mako
 create mode 100644 src/mesa/main/python_mako.py
 create mode 100644 src/mesa/main/run_mako.py

-- 
1.9.1



More information about the mesa-dev mailing list