[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