* [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 @ 2025-06-16 18:21 Christian Melki 2025-06-27 10:41 ` Michael Olbrich 0 siblings, 1 reply; 4+ messages in thread From: Christian Melki @ 2025-06-16 18:21 UTC (permalink / raw) To: ptxdist https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES * Add RISC-V vector option. * Re-add lost ARM NEON optimization. I removed this, misunderstanding the work done. This can be enabled for ARM64 where NEON is an unconditional addition. I think it also could be enabled for ARM NEON capable hard-float and soft-fp (not soft-float). * Disable the automatic optimization. It seems to not get the ARM NEON case right. Signed-off-by: Christian Melki <christian.melki@t2data.com> --- rules/libpng.make | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/rules/libpng.make b/rules/libpng.make index 07c6ea99b..824974289 100644 --- a/rules/libpng.make +++ b/rules/libpng.make @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng # # Paths and names # -LIBPNG_VERSION := 1.6.48 -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 +LIBPNG_VERSION := 1.6.49 +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c LIBPNG := libpng-$(LIBPNG_VERSION) LIBPNG_SUFFIX := tar.xz LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ --enable-unversioned-links \ --enable-unversioned-libpng-pc \ --enable-unversioned-libpng-config \ + --disable-hardware-optimizations \ + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ --disable-mips-msa \ --disable-mips-mmi \ --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ --disable-powerpc-vsx \ --disable-loongarch-lsx \ + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ --with-binconfigs # ---------------------------------------------------------------------------- -- 2.34.1 ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 2025-06-16 18:21 [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 Christian Melki @ 2025-06-27 10:41 ` Michael Olbrich 2025-07-03 20:38 ` Christian Melki 0 siblings, 1 reply; 4+ messages in thread From: Michael Olbrich @ 2025-06-27 10:41 UTC (permalink / raw) To: Christian Melki; +Cc: ptxdist On Mon, Jun 16, 2025 at 08:21:08PM +0200, Christian Melki wrote: > https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES > > * Add RISC-V vector option. > > * Re-add lost ARM NEON optimization. I removed this, misunderstanding > the work done. This can be enabled for ARM64 where NEON > is an unconditional addition. I think it also could be enabled > for ARM NEON capable hard-float and soft-fp (not soft-float). > > * Disable the automatic optimization. It seems to not get the ARM > NEON case right. What exactly did not work for you? So I looked at that stuff, and I think, the correct way to handle this is to _not_ specify --{en,dis}able-hardware-optimizations at all and then use --enable-arm-neon=$(call ptx/ifdef, PTXCONF_ARCH_ARM_NEON,api,no) Does that work in your case? Michael > Signed-off-by: Christian Melki <christian.melki@t2data.com> > --- > rules/libpng.make | 7 +++++-- > 1 file changed, 5 insertions(+), 2 deletions(-) > > diff --git a/rules/libpng.make b/rules/libpng.make > index 07c6ea99b..824974289 100644 > --- a/rules/libpng.make > +++ b/rules/libpng.make > @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng > # > # Paths and names > # > -LIBPNG_VERSION := 1.6.48 > -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 > +LIBPNG_VERSION := 1.6.49 > +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c > LIBPNG := libpng-$(LIBPNG_VERSION) > LIBPNG_SUFFIX := tar.xz > LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) > @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ > --enable-unversioned-links \ > --enable-unversioned-libpng-pc \ > --enable-unversioned-libpng-config \ > + --disable-hardware-optimizations \ > + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ > --disable-mips-msa \ > --disable-mips-mmi \ > --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ > --disable-powerpc-vsx \ > --disable-loongarch-lsx \ > + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ > --with-binconfigs > > # ---------------------------------------------------------------------------- > -- > 2.34.1 > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 2025-06-27 10:41 ` Michael Olbrich @ 2025-07-03 20:38 ` Christian Melki 2025-07-04 16:50 ` Michael Olbrich 0 siblings, 1 reply; 4+ messages in thread From: Christian Melki @ 2025-07-03 20:38 UTC (permalink / raw) To: Michael Olbrich; +Cc: ptxdist On 6/27/25 12:41 PM, Michael Olbrich wrote: > On Mon, Jun 16, 2025 at 08:21:08PM +0200, Christian Melki wrote: >> https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES >> >> * Add RISC-V vector option. >> >> * Re-add lost ARM NEON optimization. I removed this, misunderstanding >> the work done. This can be enabled for ARM64 where NEON >> is an unconditional addition. I think it also could be enabled >> for ARM NEON capable hard-float and soft-fp (not soft-float). >> >> * Disable the automatic optimization. It seems to not get the ARM >> NEON case right. > > What exactly did not work for you? > > So I looked at that stuff, and I think, the correct way to handle this is > to _not_ specify --{en,dis}able-hardware-optimizations at all and then use > --enable-arm-neon=$(call ptx/ifdef, PTXCONF_ARCH_ARM_NEON,api,no) > > Does that work in your case? > > Michael > I think the ARM neon case is slightly more complex than it looks. If I enable it, it breaks on my builds. Maybe I need a way to discern if the toolchain is generating hard floats or soft-fp with neon or not? Not sure how to formulate it, that's why the update ignores ARM for now. Christian >> Signed-off-by: Christian Melki <christian.melki@t2data.com> >> --- >> rules/libpng.make | 7 +++++-- >> 1 file changed, 5 insertions(+), 2 deletions(-) >> >> diff --git a/rules/libpng.make b/rules/libpng.make >> index 07c6ea99b..824974289 100644 >> --- a/rules/libpng.make >> +++ b/rules/libpng.make >> @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng >> # >> # Paths and names >> # >> -LIBPNG_VERSION := 1.6.48 >> -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 >> +LIBPNG_VERSION := 1.6.49 >> +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c >> LIBPNG := libpng-$(LIBPNG_VERSION) >> LIBPNG_SUFFIX := tar.xz >> LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) >> @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ >> --enable-unversioned-links \ >> --enable-unversioned-libpng-pc \ >> --enable-unversioned-libpng-config \ >> + --disable-hardware-optimizations \ >> + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ >> --disable-mips-msa \ >> --disable-mips-mmi \ >> --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ >> --disable-powerpc-vsx \ >> --disable-loongarch-lsx \ >> + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ >> --with-binconfigs >> >> # ---------------------------------------------------------------------------- >> -- >> 2.34.1 >> >> >> > ^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 2025-07-03 20:38 ` Christian Melki @ 2025-07-04 16:50 ` Michael Olbrich 0 siblings, 0 replies; 4+ messages in thread From: Michael Olbrich @ 2025-07-04 16:50 UTC (permalink / raw) To: Christian Melki; +Cc: ptxdist On Thu, Jul 03, 2025 at 10:38:23PM +0200, Christian Melki wrote: > On 6/27/25 12:41 PM, Michael Olbrich wrote: > > On Mon, Jun 16, 2025 at 08:21:08PM +0200, Christian Melki wrote: > >> https://sourceforge.net/p/libpng/code/ci/libpng16/tree/CHANGES > >> > >> * Add RISC-V vector option. > >> > >> * Re-add lost ARM NEON optimization. I removed this, misunderstanding > >> the work done. This can be enabled for ARM64 where NEON > >> is an unconditional addition. I think it also could be enabled > >> for ARM NEON capable hard-float and soft-fp (not soft-float). > >> > >> * Disable the automatic optimization. It seems to not get the ARM > >> NEON case right. > > > > What exactly did not work for you? > > > > So I looked at that stuff, and I think, the correct way to handle this is > > to _not_ specify --{en,dis}able-hardware-optimizations at all and then use > > --enable-arm-neon=$(call ptx/ifdef, PTXCONF_ARCH_ARM_NEON,api,no) > > > > Does that work in your case? > > > > Michael > > > > I think the ARM neon case is slightly more complex than it looks. > If I enable it, it breaks on my builds. Maybe I need a way to discern if > the toolchain is generating hard floats or soft-fp with neon or not? Right, so you have a softfp toolchain with NEON, right? Does this work: diff --git a/rules/libpng.make b/rules/libpng.make index 824974289782..ac8d1faf9dcc 100644 --- a/rules/libpng.make +++ b/rules/libpng.make @@ -33,16 +33,21 @@ LIBPNG_LICENSE_FILES := \ LIBPNG_WRAPPER_BLACKLIST := TARGET_DEBUG_FULL +LIBPNG_NEON = $(PTXCONF_ARCH_ARM_NEON) +ifdef PTXCONF_ARCH_ARMV7_NEON +# NEON with softfp is broken +LIBPNG_NEON = $(if $(filter softfp,$(shell ptxd_cross_cc_v | sed -n "s/COLLECT_GCC_OPTIONS=.*'-mfloat-abi=\([^']*\)'.*/\1/p" | tail -n1)),,y) +endif + LIBPNG_CONF_TOOL:= autoconf -LIBPNG_CONF_OPT := \ +LIBPNG_CONF_OPT = \ $(CROSS_AUTOCONF_USR) \ --disable-tests \ --disable-tools \ --enable-unversioned-links \ --enable-unversioned-libpng-pc \ --enable-unversioned-libpng-config \ - --disable-hardware-optimizations \ - --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ + --enable-arm-neon=$(call ptx/ifdef, LIBPNG_NEON,api,no) \ --disable-mips-msa \ --disable-mips-mmi \ --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ Michael > Not sure how to formulate it, that's why the update ignores ARM for now. > > Christian > > >> Signed-off-by: Christian Melki <christian.melki@t2data.com> > >> --- > >> rules/libpng.make | 7 +++++-- > >> 1 file changed, 5 insertions(+), 2 deletions(-) > >> > >> diff --git a/rules/libpng.make b/rules/libpng.make > >> index 07c6ea99b..824974289 100644 > >> --- a/rules/libpng.make > >> +++ b/rules/libpng.make > >> @@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_LIBPNG) += libpng > >> # > >> # Paths and names > >> # > >> -LIBPNG_VERSION := 1.6.48 > >> -LIBPNG_MD5 := 6ddbe2107e3811d51da698794b8fb4a2 > >> +LIBPNG_VERSION := 1.6.49 > >> +LIBPNG_MD5 := 66c58f211e8e9fc66e621965960df19c > >> LIBPNG := libpng-$(LIBPNG_VERSION) > >> LIBPNG_SUFFIX := tar.xz > >> LIBPNG_URL := $(call ptx/mirror, SF, libpng/$(LIBPNG).$(LIBPNG_SUFFIX)) > >> @@ -41,11 +41,14 @@ LIBPNG_CONF_OPT := \ > >> --enable-unversioned-links \ > >> --enable-unversioned-libpng-pc \ > >> --enable-unversioned-libpng-config \ > >> + --disable-hardware-optimizations \ > >> + --$(call ptx/endis, PTXCONF_ARCH_ARM64)-arm-neon \ > >> --disable-mips-msa \ > >> --disable-mips-mmi \ > >> --$(call ptx/endis, PTXCONF_ARCH_X86)-intel-sse \ > >> --disable-powerpc-vsx \ > >> --disable-loongarch-lsx \ > >> + --$(call ptx/endis, PTXCONF_ARCH_RISCV)-riscv-rvv \ > >> --with-binconfigs > >> > >> # ---------------------------------------------------------------------------- > >> -- > >> 2.34.1 > >> > >> > >> > > > > > -- Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2025-07-04 16:50 UTC | newest] Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2025-06-16 18:21 [ptxdist] [PATCH] libpng: Version bump. 1.6.48 -> 1.6.49 Christian Melki 2025-06-27 10:41 ` Michael Olbrich 2025-07-03 20:38 ` Christian Melki 2025-07-04 16:50 ` Michael Olbrich
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox