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

Jason Ekstrand jason at jlekstrand.net
Wed Dec 3 12:25:04 PST 2014


On Dec 3, 2014 2:45 AM, "Samuel Iglesias Gonsálvez" <siglesias at igalia.com>
wrote:
>
> On Wednesday, December 03, 2014 10:33:33 AM Samuel Iglesias Gonsálvez
wrote:
> > 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.
> >
>
> Giving more info to my reply:
>
> ATI proprietary driver supports GL_EXT_abgr extension but, as I said, it
> disallows ABGR/1010102 and  ABGR/5551 specifically.
>
> Sam

I talked to Ian and ken and I think we want to remove ABGR5551 support in a
separate patch. If someone complains, we can always add it back.

>
> > 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
>
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/mesa-dev/attachments/20141203/71e602ac/attachment.html>


More information about the mesa-dev mailing list