mailarchive of the ptxdist mailing list
 help / color / mirror / Atom feed
From: Christian Melki <christian.melki@t2data.com>
To: Michael Olbrich <m.olbrich@pengutronix.de>
Cc: ptxdist@pengutronix.de
Subject: Re: [ptxdist] [PATCH] sdl2: Version bump. 2.24.2 -> 2.26.0
Date: Wed, 30 Nov 2022 11:46:18 +0100	[thread overview]
Message-ID: <0e5b55c1-5904-7f55-8acd-92f005ca8665@t2data.com> (raw)
In-Reply-To: <20221130084445.GL30335@pengutronix.de>

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
>>>>
>>>>
>>>>
>>>
>>
>>
>>
> 



      reply	other threads:[~2022-11-30 10:50 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-23 21:16 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 message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0e5b55c1-5904-7f55-8acd-92f005ca8665@t2data.com \
    --to=christian.melki@t2data.com \
    --cc=m.olbrich@pengutronix.de \
    --cc=ptxdist@pengutronix.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox