mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
* [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
@ 2022-11-23 21:16 Christian Melki
  2022-11-29 16:08 ` Michael Olbrich
  0 siblings, 1 reply; 5+ messages in thread
From: Christian Melki @ 2022-11-23 21:16 UTC (permalink / raw)
  To: ptxdist

Coming in hot on the last update.
2.26 is probably the last stable series before SDL 3.0.
Actually not that many new features that a new series would indicate.

https://github.com/libsdl-org/SDL/releases/tag/release-2.26.0
Changed/explicitly specified a few config opts.

* Add missing global largefile opt.
* Allow arch x86 compiler to tune for mmx, and x86_64
to tune for that and sse2 + sse3. The choice to forgo sse
is intentional. But enable the larger knob for ssemath.
Either way, longshot. But I don't think it harms anything.
* Allow arch ppc compiler to tune for altivec.
* Explicitly disable lsx, lasx instructions.
* Explicitly disable xfixes xorg protocol.
* Enable offscreen rendering capability.

Signed-off-by: Christian Melki <christian.melki@t2data.com>
---
 rules/sdl2.make | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)

diff --git a/rules/sdl2.make b/rules/sdl2.make
index 1fec56d41..93ed79c77 100644
--- a/rules/sdl2.make
+++ b/rules/sdl2.make
@@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2) += sdl2
 #
 # Paths and names
 #
-SDL2_VERSION	:= 2.24.2
-SDL2_MD5	:= 84c71cb2a14aa0d9504513c0b9fcb17c
+SDL2_VERSION	:= 2.26.0
+SDL2_MD5	:= 35bc58cfe41b8fb6c8e6646be26fa47e
 SDL2		:= SDL2-$(SDL2_VERSION)
 SDL2_SUFFIX	:= tar.gz
 SDL2_URL	:= https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX)
@@ -33,6 +33,7 @@ SDL2_LICENSE	:= zlib
 SDL2_CONF_TOOL	:= autoconf
 SDL2_CONF_OPT	:= \
 	$(CROSS_AUTOCONF_USR) \
+	$(GLOBAL_LARGE_FILE_OPTION) \
 	--enable-shared \
 	--disable-static \
 	--enable-libtool-lock \
@@ -55,13 +56,15 @@ SDL2_CONF_OPT	:= \
 	--enable-loadso \
 	--enable-cpuinfo \
 	--enable-assembly \
-	--disable-ssemath \
-	--disable-mmx \
+	--$(call ptx/endis,PTXCONF_ARCH_X86)-ssemath \
+	--$(call ptx/endis,PTXCONF_ARCH_X86)-mmx \
 	--disable-3dnow \
-	--disable-sse \
-	--disable-sse2 \
-	--disable-sse3 \
-	--disable-altivec \
+	--$(call ptx/endis,PTXCONF_ARCH_X86)-sse \
+	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse2 \
+	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse3 \
+	--$(call ptx/endis,PTXCONF_ARCH_PPC)-altivec \
+	--disable-lsx \
+	--disable-lasx \
 	--$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \
 	--$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \
 	--disable-alsatest \
@@ -100,6 +103,7 @@ SDL2_CONF_OPT	:= \
 	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xcursor \
 	--disable-video-x11-xdbe \
 	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \
+	--disable-video-x11-xfixes \
 	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xrandr \
 	--disable-video-x11-scrnsaver \
 	--disable-video-x11-xshape \
@@ -112,6 +116,7 @@ SDL2_CONF_OPT	:= \
 	--$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \
 	--$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \
 	--enable-video-dummy \
+	--enable-video-offscreen \
 	--$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \
 	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \
 	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \
-- 
2.34.1




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
  2022-11-23 21:16 [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0 Christian Melki
@ 2022-11-29 16:08 ` Michael Olbrich
  2022-11-29 18:43   ` Christian Melki
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Olbrich @ 2022-11-29 16:08 UTC (permalink / raw)
  To: Christian Melki; +Cc: ptxdist

On Wed, Nov 23, 2022 at 10:16:26PM +0100, Christian Melki wrote:
> Coming in hot on the last update.
> 2.26 is probably the last stable series before SDL 3.0.
> Actually not that many new features that a new series would indicate.
> 
> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.0
> Changed/explicitly specified a few config opts.
> 
> * Add missing global largefile opt.
> * Allow arch x86 compiler to tune for mmx, and x86_64
> to tune for that and sse2 + sse3. The choice to forgo sse
> is intentional. But enable the larger knob for ssemath.
> Either way, longshot. But I don't think it harms anything.
> * Allow arch ppc compiler to tune for altivec.
> * Explicitly disable lsx, lasx instructions.
> * Explicitly disable xfixes xorg protocol.
> * Enable offscreen rendering capability.
> 
> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> ---
>  rules/sdl2.make | 21 +++++++++++++--------
>  1 file changed, 13 insertions(+), 8 deletions(-)
> 
> diff --git a/rules/sdl2.make b/rules/sdl2.make
> index 1fec56d41..93ed79c77 100644
> --- a/rules/sdl2.make
> +++ b/rules/sdl2.make
> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2) += sdl2
>  #
>  # Paths and names
>  #
> -SDL2_VERSION	:= 2.24.2
> -SDL2_MD5	:= 84c71cb2a14aa0d9504513c0b9fcb17c
> +SDL2_VERSION	:= 2.26.0
> +SDL2_MD5	:= 35bc58cfe41b8fb6c8e6646be26fa47e
>  SDL2		:= SDL2-$(SDL2_VERSION)
>  SDL2_SUFFIX	:= tar.gz
>  SDL2_URL	:= https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX)
> @@ -33,6 +33,7 @@ SDL2_LICENSE	:= zlib
>  SDL2_CONF_TOOL	:= autoconf
>  SDL2_CONF_OPT	:= \
>  	$(CROSS_AUTOCONF_USR) \
> +	$(GLOBAL_LARGE_FILE_OPTION) \
>  	--enable-shared \
>  	--disable-static \
>  	--enable-libtool-lock \
> @@ -55,13 +56,15 @@ SDL2_CONF_OPT	:= \
>  	--enable-loadso \
>  	--enable-cpuinfo \
>  	--enable-assembly \
> -	--disable-ssemath \
> -	--disable-mmx \
> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-ssemath \
> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-mmx \

Hmmm, not sure if enabling mmx is still useful these days.

>  	--disable-3dnow \
> -	--disable-sse \
> -	--disable-sse2 \
> -	--disable-sse3 \
> -	--disable-altivec \
> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-sse \
> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse2 \
> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse3 \

> +	--$(call ptx/endis,PTXCONF_ARCH_PPC)-altivec \

This fails to build in my one PPC test case.

Michael

> +	--disable-lsx \
> +	--disable-lasx \
>  	--$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \
>  	--$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \
>  	--disable-alsatest \
> @@ -100,6 +103,7 @@ SDL2_CONF_OPT	:= \
>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xcursor \
>  	--disable-video-x11-xdbe \
>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \
> +	--disable-video-x11-xfixes \
>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xrandr \
>  	--disable-video-x11-scrnsaver \
>  	--disable-video-x11-xshape \
> @@ -112,6 +116,7 @@ SDL2_CONF_OPT	:= \
>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \
>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \
>  	--enable-video-dummy \
> +	--enable-video-offscreen \
>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \
>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \
>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \
> -- 
> 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] 5+ messages in thread

* Re: [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
  2022-11-29 16:08 ` Michael Olbrich
@ 2022-11-29 18:43   ` Christian Melki
  2022-11-30  8:44     ` Michael Olbrich
  0 siblings, 1 reply; 5+ messages in thread
From: Christian Melki @ 2022-11-29 18:43 UTC (permalink / raw)
  To: ptxdist

On 11/29/22 17:08, Michael Olbrich wrote:
> On Wed, Nov 23, 2022 at 10:16:26PM +0100, Christian Melki wrote:
>> Coming in hot on the last update.
>> 2.26 is probably the last stable series before SDL 3.0.
>> Actually not that many new features that a new series would indicate.
>>
>> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.0
>> Changed/explicitly specified a few config opts.
>>
>> * Add missing global largefile opt.
>> * Allow arch x86 compiler to tune for mmx, and x86_64
>> to tune for that and sse2 + sse3. The choice to forgo sse
>> is intentional. But enable the larger knob for ssemath.
>> Either way, longshot. But I don't think it harms anything.
>> * Allow arch ppc compiler to tune for altivec.
>> * Explicitly disable lsx, lasx instructions.
>> * Explicitly disable xfixes xorg protocol.
>> * Enable offscreen rendering capability.
>>
>> Signed-off-by: Christian Melki <christian.melki@t2data.com>
>> ---
>>  rules/sdl2.make | 21 +++++++++++++--------
>>  1 file changed, 13 insertions(+), 8 deletions(-)
>>
>> diff --git a/rules/sdl2.make b/rules/sdl2.make
>> index 1fec56d41..93ed79c77 100644
>> --- a/rules/sdl2.make
>> +++ b/rules/sdl2.make
>> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2) += sdl2
>>  #
>>  # Paths and names
>>  #
>> -SDL2_VERSION	:= 2.24.2
>> -SDL2_MD5	:= 84c71cb2a14aa0d9504513c0b9fcb17c
>> +SDL2_VERSION	:= 2.26.0
>> +SDL2_MD5	:= 35bc58cfe41b8fb6c8e6646be26fa47e
>>  SDL2		:= SDL2-$(SDL2_VERSION)
>>  SDL2_SUFFIX	:= tar.gz
>>  SDL2_URL	:= https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX)
>> @@ -33,6 +33,7 @@ SDL2_LICENSE	:= zlib
>>  SDL2_CONF_TOOL	:= autoconf
>>  SDL2_CONF_OPT	:= \
>>  	$(CROSS_AUTOCONF_USR) \
>> +	$(GLOBAL_LARGE_FILE_OPTION) \
>>  	--enable-shared \
>>  	--disable-static \
>>  	--enable-libtool-lock \
>> @@ -55,13 +56,15 @@ SDL2_CONF_OPT	:= \
>>  	--enable-loadso \
>>  	--enable-cpuinfo \
>>  	--enable-assembly \
>> -	--disable-ssemath \
>> -	--disable-mmx \
>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-ssemath \
>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-mmx \
> 
> Hmmm, not sure if enabling mmx is still useful these days.
> 

I was thinking ssemath and mmx for base x86,
because on older CPUs iirc you could gain more by saturating the integer
and fp units at the same time. I think those days are gone for x86_64.
But ptxdist differs between the two, right?
Maybe if x86 && !x86_64? Somehow?

>>  	--disable-3dnow \
>> -	--disable-sse \
>> -	--disable-sse2 \
>> -	--disable-sse3 \
>> -	--disable-altivec \
>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-sse \
>> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse2 \
>> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse3 \
> 
>> +	--$(call ptx/endis,PTXCONF_ARCH_PPC)-altivec \
> 
> This fails to build in my one PPC test case.
> 

e500 something core? Only thing I can think of that is even remotely
modern that doesn't have altivec.
I did my testing on a T4240. They don't come much better than that from
the dying Freescale set of PPCs.

But you're right. Altivec isn't available
everywhere. But does ptxdist have altivec knobs or PPC64?
Seems like a shame to turn it off. Most modern ppcs (base design from
the last 15 years or so) would probably have altivec insns.

> Michael>
>> +	--disable-lsx \
>> +	--disable-lasx \
>>  	--$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \
>>  	--$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \
>>  	--disable-alsatest \
>> @@ -100,6 +103,7 @@ SDL2_CONF_OPT	:= \
>>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xcursor \
>>  	--disable-video-x11-xdbe \
>>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \
>> +	--disable-video-x11-xfixes \
>>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xrandr \
>>  	--disable-video-x11-scrnsaver \
>>  	--disable-video-x11-xshape \
>> @@ -112,6 +116,7 @@ SDL2_CONF_OPT	:= \
>>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \
>>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \
>>  	--enable-video-dummy \
>> +	--enable-video-offscreen \
>>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \
>>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \
>>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \
>> -- 
>> 2.34.1
>>
>>
>>
> 




^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
  2022-11-29 18:43   ` Christian Melki
@ 2022-11-30  8:44     ` Michael Olbrich
  2022-11-30 10:46       ` Christian Melki
  0 siblings, 1 reply; 5+ messages in thread
From: Michael Olbrich @ 2022-11-30  8:44 UTC (permalink / raw)
  To: Christian Melki; +Cc: ptxdist

On Tue, Nov 29, 2022 at 07:43:03PM +0100, Christian Melki wrote:
> On 11/29/22 17:08, Michael Olbrich wrote:
> > On Wed, Nov 23, 2022 at 10:16:26PM +0100, Christian Melki wrote:
> >> Coming in hot on the last update.
> >> 2.26 is probably the last stable series before SDL 3.0.
> >> Actually not that many new features that a new series would indicate.
> >>
> >> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.0
> >> Changed/explicitly specified a few config opts.
> >>
> >> * Add missing global largefile opt.
> >> * Allow arch x86 compiler to tune for mmx, and x86_64
> >> to tune for that and sse2 + sse3. The choice to forgo sse
> >> is intentional. But enable the larger knob for ssemath.
> >> Either way, longshot. But I don't think it harms anything.
> >> * Allow arch ppc compiler to tune for altivec.
> >> * Explicitly disable lsx, lasx instructions.
> >> * Explicitly disable xfixes xorg protocol.
> >> * Enable offscreen rendering capability.
> >>
> >> Signed-off-by: Christian Melki <christian.melki@t2data.com>
> >> ---
> >>  rules/sdl2.make | 21 +++++++++++++--------
> >>  1 file changed, 13 insertions(+), 8 deletions(-)
> >>
> >> diff --git a/rules/sdl2.make b/rules/sdl2.make
> >> index 1fec56d41..93ed79c77 100644
> >> --- a/rules/sdl2.make
> >> +++ b/rules/sdl2.make
> >> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2) += sdl2
> >>  #
> >>  # Paths and names
> >>  #
> >> -SDL2_VERSION	:= 2.24.2
> >> -SDL2_MD5	:= 84c71cb2a14aa0d9504513c0b9fcb17c
> >> +SDL2_VERSION	:= 2.26.0
> >> +SDL2_MD5	:= 35bc58cfe41b8fb6c8e6646be26fa47e
> >>  SDL2		:= SDL2-$(SDL2_VERSION)
> >>  SDL2_SUFFIX	:= tar.gz
> >>  SDL2_URL	:= https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX)
> >> @@ -33,6 +33,7 @@ SDL2_LICENSE	:= zlib
> >>  SDL2_CONF_TOOL	:= autoconf
> >>  SDL2_CONF_OPT	:= \
> >>  	$(CROSS_AUTOCONF_USR) \
> >> +	$(GLOBAL_LARGE_FILE_OPTION) \
> >>  	--enable-shared \
> >>  	--disable-static \
> >>  	--enable-libtool-lock \
> >> @@ -55,13 +56,15 @@ SDL2_CONF_OPT	:= \
> >>  	--enable-loadso \
> >>  	--enable-cpuinfo \
> >>  	--enable-assembly \
> >> -	--disable-ssemath \
> >> -	--disable-mmx \
> >> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-ssemath \
> >> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-mmx \
> > 
> > Hmmm, not sure if enabling mmx is still useful these days.
> > 
> 
> I was thinking ssemath and mmx for base x86,
> because on older CPUs iirc you could gain more by saturating the integer
> and fp units at the same time. I think those days are gone for x86_64.
> But ptxdist differs between the two, right?
> Maybe if x86 && !x86_64? Somehow?

$(if $(PTXCONF_ARCH_X86_64),,$(PTXCONF_ARCH_X86)) I think. Maybe define a
variable for it. Do you know how this stuff works? I expect there is some
kind of runtime selection?

> >>  	--disable-3dnow \
> >> -	--disable-sse \
> >> -	--disable-sse2 \
> >> -	--disable-sse3 \
> >> -	--disable-altivec \
> >> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-sse \
> >> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse2 \
> >> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse3 \
> > 
> >> +	--$(call ptx/endis,PTXCONF_ARCH_PPC)-altivec \
> > 
> > This fails to build in my one PPC test case.
> > 
> 
> e500 something core? Only thing I can think of that is even remotely
> modern that doesn't have altivec.
> I did my testing on a T4240. They don't come much better than that from
> the dying Freescale set of PPCs.
> 
> But you're right. Altivec isn't available
> everywhere. But does ptxdist have altivec knobs or PPC64?
> Seems like a shame to turn it off. Most modern ppcs (base design from
> the last 15 years or so) would probably have altivec insns.

There is one PowerPC config in OSELAS.Toolchain. That is built with
'--with-cpu=603e --disable-altivec'... I've not used any PowerPC hardware
personally in over a decade. So the toolchain never changed either. I'm
mostly using this stuff for more test coverage.
I'd be happy to merge PPC64 support for PTXdist.

Michael

> > Michael>
> >> +	--disable-lsx \
> >> +	--disable-lasx \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \
> >>  	--disable-alsatest \
> >> @@ -100,6 +103,7 @@ SDL2_CONF_OPT	:= \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xcursor \
> >>  	--disable-video-x11-xdbe \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \
> >> +	--disable-video-x11-xfixes \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xrandr \
> >>  	--disable-video-x11-scrnsaver \
> >>  	--disable-video-x11-xshape \
> >> @@ -112,6 +116,7 @@ SDL2_CONF_OPT	:= \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \
> >>  	--enable-video-dummy \
> >> +	--enable-video-offscreen \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \
> >>  	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \
> >> -- 
> >> 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] 5+ messages in thread

* Re: [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
  2022-11-30  8:44     ` Michael Olbrich
@ 2022-11-30 10:46       ` Christian Melki
  0 siblings, 0 replies; 5+ messages in thread
From: Christian Melki @ 2022-11-30 10:46 UTC (permalink / raw)
  To: Michael Olbrich; +Cc: ptxdist

On 11/30/22 9:44 AM, Michael Olbrich wrote:
> On Tue, Nov 29, 2022 at 07:43:03PM +0100, Christian Melki wrote:
>> On 11/29/22 17:08, Michael Olbrich wrote:
>>> On Wed, Nov 23, 2022 at 10:16:26PM +0100, Christian Melki wrote:
>>>> Coming in hot on the last update.
>>>> 2.26 is probably the last stable series before SDL 3.0.
>>>> Actually not that many new features that a new series would indicate.
>>>>
>>>> https://github.com/libsdl-org/SDL/releases/tag/release-2.26.0
>>>> Changed/explicitly specified a few config opts.
>>>>
>>>> * Add missing global largefile opt.
>>>> * Allow arch x86 compiler to tune for mmx, and x86_64
>>>> to tune for that and sse2 + sse3. The choice to forgo sse
>>>> is intentional. But enable the larger knob for ssemath.
>>>> Either way, longshot. But I don't think it harms anything.
>>>> * Allow arch ppc compiler to tune for altivec.
>>>> * Explicitly disable lsx, lasx instructions.
>>>> * Explicitly disable xfixes xorg protocol.
>>>> * Enable offscreen rendering capability.
>>>>
>>>> Signed-off-by: Christian Melki <christian.melki@t2data.com>
>>>> ---
>>>>   rules/sdl2.make | 21 +++++++++++++--------
>>>>   1 file changed, 13 insertions(+), 8 deletions(-)
>>>>
>>>> diff --git a/rules/sdl2.make b/rules/sdl2.make
>>>> index 1fec56d41..93ed79c77 100644
>>>> --- a/rules/sdl2.make
>>>> +++ b/rules/sdl2.make
>>>> @@ -14,8 +14,8 @@ PACKAGES-$(PTXCONF_SDL2) += sdl2
>>>>   #
>>>>   # Paths and names
>>>>   #
>>>> -SDL2_VERSION	:= 2.24.2
>>>> -SDL2_MD5	:= 84c71cb2a14aa0d9504513c0b9fcb17c
>>>> +SDL2_VERSION	:= 2.26.0
>>>> +SDL2_MD5	:= 35bc58cfe41b8fb6c8e6646be26fa47e
>>>>   SDL2		:= SDL2-$(SDL2_VERSION)
>>>>   SDL2_SUFFIX	:= tar.gz
>>>>   SDL2_URL	:= https://www.libsdl.org/release/$(SDL2).$(SDL2_SUFFIX)
>>>> @@ -33,6 +33,7 @@ SDL2_LICENSE	:= zlib
>>>>   SDL2_CONF_TOOL	:= autoconf
>>>>   SDL2_CONF_OPT	:= \
>>>>   	$(CROSS_AUTOCONF_USR) \
>>>> +	$(GLOBAL_LARGE_FILE_OPTION) \
>>>>   	--enable-shared \
>>>>   	--disable-static \
>>>>   	--enable-libtool-lock \
>>>> @@ -55,13 +56,15 @@ SDL2_CONF_OPT	:= \
>>>>   	--enable-loadso \
>>>>   	--enable-cpuinfo \
>>>>   	--enable-assembly \
>>>> -	--disable-ssemath \
>>>> -	--disable-mmx \
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-ssemath \
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-mmx \
>>>
>>> Hmmm, not sure if enabling mmx is still useful these days.
>>>
>>
>> I was thinking ssemath and mmx for base x86,
>> because on older CPUs iirc you could gain more by saturating the integer
>> and fp units at the same time. I think those days are gone for x86_64.
>> But ptxdist differs between the two, right?
>> Maybe if x86 && !x86_64? Somehow?
> 
> $(if $(PTXCONF_ARCH_X86_64),,$(PTXCONF_ARCH_X86)) I think. Maybe define a
> variable for it. Do you know how this stuff works? I expect there is some
> kind of runtime selection?
> 

So I think you need to have the knobs enabled in the configure (upcoming cmake only in 3.0).
There is some configure testing for support in the compiler.
If it is enabled, then I think "enable-cpuinfo" gathers cpuinfo and makes a runtime flag if the actual CPU supports it and the code is built in (enabled).
I don't know what happens if multiple sets are detected. I assume they've taken care of this, esp. for the plethora of x86 extensions.

>>>>   	--disable-3dnow \
>>>> -	--disable-sse \
>>>> -	--disable-sse2 \
>>>> -	--disable-sse3 \
>>>> -	--disable-altivec \
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_X86)-sse \
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse2 \
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_X86_64)-sse3 \
>>>
>>>> +	--$(call ptx/endis,PTXCONF_ARCH_PPC)-altivec \
>>>
>>> This fails to build in my one PPC test case.
>>>
>>
>> e500 something core? Only thing I can think of that is even remotely
>> modern that doesn't have altivec.
>> I did my testing on a T4240. They don't come much better than that from
>> the dying Freescale set of PPCs.
>>
>> But you're right. Altivec isn't available
>> everywhere. But does ptxdist have altivec knobs or PPC64?
>> Seems like a shame to turn it off. Most modern ppcs (base design from
>> the last 15 years or so) would probably have altivec insns.
> 
> There is one PowerPC config in OSELAS.Toolchain. That is built with
> '--with-cpu=603e --disable-altivec'... I've not used any PowerPC hardware
> personally in over a decade. So the toolchain never changed either. I'm
> mostly using this stuff for more test coverage.
> I'd be happy to merge PPC64 support for PTXdist.
> 

Hmm. Maybe we could settle for a altivec knob in architecture.in?
Much like NEON for ARM?

Christian

> Michael
> 
>>> Michael>
>>>> +	--disable-lsx \
>>>> +	--disable-lasx \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_OSS)-oss \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_ALSA)-alsa \
>>>>   	--disable-alsatest \
>>>> @@ -100,6 +103,7 @@ SDL2_CONF_OPT	:= \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xcursor \
>>>>   	--disable-video-x11-xdbe \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xinput \
>>>> +	--disable-video-x11-xfixes \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_XORG)-video-x11-xrandr \
>>>>   	--disable-video-x11-scrnsaver \
>>>>   	--disable-video-x11-xshape \
>>>> @@ -112,6 +116,7 @@ SDL2_CONF_OPT	:= \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_KMS)-video-kmsdrm \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_KMS)-kmsdrm-shared \
>>>>   	--enable-video-dummy \
>>>> +	--enable-video-offscreen \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_OPENGL)-video-opengl \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES)-video-opengles \
>>>>   	--$(call ptx/endis,PTXCONF_SDL2_OPENGLES1)-video-opengles1 \
>>>> -- 
>>>> 2.34.1
>>>>
>>>>
>>>>
>>>
>>
>>
>>
> 



^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-11-30 10:50 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-11-23 21:16 [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0 Christian Melki
2022-11-29 16:08 ` Michael Olbrich
2022-11-29 18:43   ` Christian Melki
2022-11-30  8:44     ` Michael Olbrich
2022-11-30 10:46       ` Christian Melki

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox