Page MenuHomeFreeBSD

graphics/mesa*: Update to 20.2
ClosedPublic

Authored by manu on Oct 5 2020, 2:02 PM.

Details

Reviewers
zeising
Group Reviewers
x11
Commits
rP552109: graphics/mesa*: Update to 20.2
Summary

Update to 20.2
Move graphics/libxatracker to graphics/mesa-gallium-xa
Remove VAAPI and VDPAU options in mesa-libs in favor of
two new ports : mesa-gallium-va and mesa-gallium-vdpau
Bump needed llvm to llvm10
Change a lot of meson option from false to disabled as it's
deprecated.
Remove the drm and surfaceless platform from mesa* as it's always
enabled now.
Add zstd option, used for shader cache.

Test Plan

Tested on 13-CURRENT amd64 on intel and amd
Build tested on 11.4 (i386, amd64)
Build tested on 12.1 (i386, amd64)
Build tested on 13-CURRENT (amd64, armv7)

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

manu requested review of this revision.Oct 5 2020, 2:02 PM
manu created this revision.

A couple of things I found after looking briefly (and also from your WIP patch at some point). I'll do a more throughout check later in the week.

MOVED
15413 ↗(On Diff #77898)

Don't forget to update the date when committing.

UPDATING
8–15 ↗(On Diff #77898)

I wonder if this should be made into a pkg message in mesa-dri as well, that's showed on install. It will help people who use pkg to find these, since they are now available and possible to install.

graphics/mesa-dri/Makefile.common
19 ↗(On Diff #77898)

Whitespace?

96–97 ↗(On Diff #77898)

Perhaps we should ask the ppc64 people if it's ok to jump on the normal version. Not a showstopper.

98–100 ↗(On Diff #77898)

This logic might need to change? If I understand correctly, it the .elif checks if LLVM_DEFAULT is >= 90, and only then forcing LLVM_DEFAULT to 10. I think we should just hard code the supported version of LLVM (the version we want to support), without any regards for LLVM_DEFAULT. Otherwise, we probably want to make sure that people who set LLVM_DEFAULT to something lower than 10 get 10, because IIRC, older versions didn't work.

Add missed patches earlier :
libatomic patches
clover patches

Address @zeising's comments.

manu marked 4 inline comments as done.Oct 6 2020, 8:54 PM

A few things, small nits.
What happened with the TLS (thread local storage) stuff? I know we talked about it, but I don't remember the result of the discussion. It looks like the patches to disable it has been removed locally. Are they added upstream or are we enabling TLS stuff now?

UPDATING
8–15 ↗(On Diff #77956)

I'd reword something like
"The nondefault options VAAPI and VDPAU were removed from the mesa-dri port and two new ports, mesa-gallium-va and mesa-gallium-vdpau now contain the necessary libraries for using VAAPI or VDPAU on AMD hardware."

12 ↗(On Diff #77956)

non-default or nondefault, options.

13 ↗(On Diff #77956)

named

14 ↗(On Diff #77956)

libs

graphics/mesa-dri/Makefile
11 ↗(On Diff #77956)

Does DRM and SURFACELESS always being on affect anything in the plist?

graphics/mesa-dri/Makefile.common
88 ↗(On Diff #77956)

This is not needed after the conversion to meson. It's just a left over from the conversion, probably worth it removing it at the same time.

109–112 ↗(On Diff #77956)

This will break popwerpc64 which still uses llvm90.

graphics/mesa-dri/files/pkg-message.in
1–9 ↗(On Diff #77956)

VAAPI, to be consistent with the UPDATING entry.

I don't know if we need some explanation to when you might want to insall these?

graphics/mesa-gallium-va/pkg-descr
7 ↗(On Diff #77956)

is a Gallium driver

graphics/mesa-gallium-vdpau/pkg-descr
7 ↗(On Diff #77956)

Shouldn't it be "VDPAU is a Gallium driver"?

lang/clover/Makefile
39–41 ↗(On Diff #77956)

Why the second MESON_ARGS+= and not just continue on the one above?

You also need to change the rename of xatracker in x11-drivers/xf86-video-vmware. Something like the attached should work.

Address zeising@'s comments.

A few things, small nits.
What happened with the TLS (thread local storage) stuff? I know we talked about it, but I don't remember the result of the discussion. It looks like the patches to disable it has been removed locally. Are they added upstream or are we enabling TLS stuff now?

TLS is always disabled for us.
I'm not against enabling it for some version of FreeBSD but I need to test first (and on multiple arches too) so it's easier to leave it disabled for now.
See https://gitlab.freedesktop.org/mesa/mesa/-/blob/20.2/meson.build#L425

manu added inline comments.
graphics/mesa-dri/Makefile
11 ↗(On Diff #77956)

Nope.

Two small nits, but this looks good.
I haven't yet had time to test on 12.1 and 11.4.
Reviewed-by: zeising

devel/libclc/Makefile
46 ↗(On Diff #78101)

Do we want to keep the reminder?

graphics/mesa-dri/files/extra-src_util_build__id.c
1–2 ↗(On Diff #78101)

This comment doesn't seem to match the patch.

This revision is now accepted and ready to land.Oct 11 2020, 3:48 PM
In D26682#596061, @manu wrote:

A few things, small nits.
What happened with the TLS (thread local storage) stuff? I know we talked about it, but I don't remember the result of the discussion. It looks like the patches to disable it has been removed locally. Are they added upstream or are we enabling TLS stuff now?

TLS is always disabled for us.
I'm not against enabling it for some version of FreeBSD but I need to test first (and on multiple arches too) so it's easier to leave it disabled for now.
See https://gitlab.freedesktop.org/mesa/mesa/-/blob/20.2/meson.build#L425

Noted. We can investigate this in the future.

This revision was automatically updated to reflect the committed changes.
manu marked an inline comment as done.