[Mesa-dev] [PATCH v2 00/23] auto-generate pack/unpack functions
Samuel Iglesias Gonsálvez
siglesias at igalia.com
Wed Dec 3 01:33:33 PST 2014
On Monday, December 01, 2014 11:22:59 AM Jason Ekstrand wrote:
> On Mon, Dec 1, 2014 at 3:04 AM, Iago Toral Quiroga <itoral at igalia.com>
>
> 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-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.
>
> This is looking much better! I had a couple of comments here and there but
> otherwise, the whole thing looks pretty good to me. Most of the fixes at
> this point should be pretty trivial, so you probably don't need to re-send
> the series. I'll try and scare up a review for the bits of code in here
> that I wrote.
>
> > 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.
>
> I talked to a few people and as far as we can tell, those should be
> disallowed by the type/format checks in TexSubImage and friends. Ian
> suggested that we run that piglit test against nVidia and AMD's
> closed-source drivers and see what they do. If they don't support ABGR
> with 5551, then let's go ahead and drop support for it ourselves. If they
> do, then it's not that much code to keep. It's also possible that they
> don't support the extension at all in which case let's keep the extension
> and drop support for using it with 5551. That said, let's make it a
> seperate patch so that if anyone complains it's easy to revert.
>
I ran those tests in both NVIDIA and ATI proprietary drivers:
* NVIDIA supports ABGR with 5551.
* ATI doesn't support it.
Same happen with ABGR/1010102.
Should we remove ABGR/5551 and ABGR/1010102 support from Mesa? Or should we
keep it?
Sam
> > 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.
>
> Yeah, let's keep it
>
> --Jason
>
> > 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
> >
> > _______________________________________________
> > mesa-dev mailing list
> > mesa-dev at lists.freedesktop.org
> > http://lists.freedesktop.org/mailman/listinfo/mesa-dev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141203/39be74fa/attachment.sig>
More information about the mesa-dev
mailing list