[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