Add a sort to ensure the package dependency output is determnistic.
(From OE-Core rev: 422ce20c7d3089c25593210b1e8a9dec99fb9965)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
(cherry picked from commit 693e8d0dfe0b475bc233ccc1ad7674d39de346ce)
Signed-off-by: Steve Sakoman <steve@sakoman.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Updated mesa and mesa-gl recipes to 20.0 release.
The license checksum difference is due to a small change in the license
formatting. The asterisk for footnotes was changed to a '[1]'
See: 199572b65b
glxgears runs successfully at 60 fps on a rpi4.
(From OE-Core rev: 0ee03e11bc2ae3faa6a2fcfdfae2ea35f7ba70ba)
Signed-off-by: Nathan Hartman <hnathan918@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
We have had similar problems with missing atomics on arm6 that arm5
has.
(From OE-Core rev: 3971b6278f88b7f780f6d03847c2fed6bfd98d8c)
Signed-off-by: Jeremy A. Puhlman <jpuhlman@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If a .bbappend file sets GALLIUMDRIVERS then virgl is always being
appended to the list of drivers to be built. Make virgl an optional
component.
(From OE-Core rev: 55256f06173de030a8f5181d72ac31d398edb398)
Signed-off-by: Fred Baksik <fred.baksik@mrcy.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upstream mesa can either be built as a debug release (the default) or a
production release. This patch allows the user to choose which one they
want by setting MESA_BUILD_TYPE to either 'production' or 'debug' as
they see fit. Under OpenEmbedded a production build will be performed by
default.
(From OE-Core rev: 6a6b775d69aa59102e1f6a68c88276be6d54a8e6)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Upgrade mesa and mesa-gl to 19.2.4.
The license hash change was a trivial new line removal.
The glx-tls option was removed as it isn't included in the meson.build
file. It has been replaced with 'use-elf-tls' instead.
I have backported the asm removal as an attempt to fix the musl build
issue.
(From OE-Core rev: 82c2acc1f658f039becac04aa3dae696418bd1de)
Signed-off-by: Alistair Francis <alistair@alistair23.me>
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Besides checking DISTRO_FEATURES for required or conflicting features,
being able to check MACHINE_FEATURES and/or COMBINED_FEATURES may also
be useful at times.
Temporarily support the old class name with a warning about future
deprecation.
(From OE-Core rev: 5f4875b950ce199e91f99c8e945a0c709166dc14)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Add support to enable the Panfrost Gallium driver in PACKAGECONFIG
(From OE-Core rev: 1685af76eb5d504e085a6e15fb16b902b89d857b)
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
It was found to crash the X server on startup under qemu.
(From OE-Core rev: 045011ed29c0ab45892ad0881a4a8987f2adc977)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This helps in enabling them via packageconfig from SOC layers
(From OE-Core rev: 853179121e0f2149ca6365ac0b8ab5017079d5e6)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Before meson conversion this was always enabled; now it needs to
be explicitly switched on.
This un-breaks the virgl headless test in particular, which regressed
with the meson conversion (and the test is not currently run on AB
due to oudated graphics hardware in it).
(From OE-Core rev: 22d3f959e44b77cb6d7375a77cf028ceeb9d6cb4)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Add missing dependency on libedit
- Define LLVMVERSION on the same lines as GCCVERSION and other tools
- Use LLVMVERSION in mesa and meson.bbclass to get llvm version instead of
hardcoding it
- Use llvm patches unmodified from meta-clang, helps in keeping them in
sync
- Define PREFERRED_VERSION for llvm, llvm-native, nativesdk-llvm
(From OE-Core rev: 3c08b638348abd543fc92baf56c28ca16ae6aac6)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This is a typical scenario with arm platforms, with meson if DRIDRIVERS
is empty then dri is disabled automatically, but gbm needs dri2 enabled
for it to have proper backend, in autotools we could use --enable-gbm
--enable-dri and get correct behaviour but with meson enabling dri2 only
works if DRIDRIVERS is not empty
This fixes mesa-gl build for rpi machines when using userland graphics
(From OE-Core rev: 0c670a0fad379c3dc2a69ac5abfeaceda98a2f9c)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
So that it says '8.0.0' to reflect the recent PV change.
(From OE-Core rev: 3b4049157a72bcd984f93405a75946a39c045f2d)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
- Patch 0005-egl-add-missing-include-stddef.h-in-egldevice.h.patch
was applied on commit e68777c87ceed02ab199b32f941778c3cf97c794.
- Refresh all patches
- mesa 19.0.0 deprecated the use of autotools and we need to add
--enable-autotools flag. For details see mesa commit:
e68777c87ceed02ab199b32f941778c3cf97c794
The complete change log can be found here:
https://www.mesa3d.org/relnotes/19.0.0.html
(From OE-Core rev: 50b7418869b7d2f40adbfbb0844f710d9aa5c396)
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Instead of using a native specific packageconfig option, we now set
the swrast as the supported driver.
Currently the native version does not build any dri drivers at all.
This is intentional: mesa-native is used only by virgl, so was made
the most minimal possible configuration for mesa-native so that a)
virgl works; and b) build time is as short as possible.
There are two swrast drivers, one dri-based, another gallium-based.
Autotools lets you build both, meson forces you to choose.
Thus DRIDRIVERS = "swrast" is only set for _native, as for _target
we get the gallium driver instead.
See discussion here [1]
Based on https://patchwork.openembedded.org/patch/158748/
[1] https://patchwork.openembedded.org/patch/158806/
(From OE-Core rev: 223ee432b908180932bf70e77d4058964d7f0786)
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
License-Update: Copyright year updates from 2017-2019
Refresh patches to apply on new version
mesa move dep to the llvm release to 8.0
Needs to happen along with llvm upgrade always
(From OE-Core rev: 96631d53becca8408758b405adc670ad7e2ea2f3)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Note that only the most minimal necessary subset of mesa is built;
particularly we don't build any drivers as that is offloaded
to the GL implementation provided by the host.
(From OE-Core rev: 621e9872ffd680e659d307a19ef5f65ef3bb36d0)
Signed-off-by: Alexander Kanavin <alex.kanavin@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The r600 DRI driver does not require LLVM, so remove it from the LLVM
dependency PACKAGE_CONFIG.
Also remove the x86 requirement on the drivers as they are work on
non-x86 systems. This was tested on a RISC-V board.
(From OE-Core rev: 001b544db55101ab7a3f5f5910de6548542b6e2a)
Signed-off-by: Alistair Francis <alistair.francis@wdc.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Fix handling of escape characters in regexs and hence fix python
Deprecation warnings which will be problematic in python 3.8.
Note that some show up as:
"""
meta/classes/package.bbclass:1293: DeprecationWarning: invalid escape sequence \.
"""
where the problem isn't on 1293 in package.bbclass but in some _prepend to a
package.bbclass function in a different file like mesa.inc, often from
do_package_split() calls.
(From OE-Core rev: 4b1c0c7d5525fc4cea9e0f02ec54e92a6fbc6199)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
If you try to build a system with multiple BSPs, one of which is qemux86
or qemux86-64, the overall system configuration will change and all of the
graphics packages will end up being rebuilt each time.
For a package based system, the PR values will also be incremented each
time. The end result will be an ever growing set of PR values as well as
being unable to tell which configured version of the graphics components
are really being deployed.
The solution was to always include the virgl gallium driver when an x86
based target is used. This may end up wasting some space, but solves the
hash issue.
(From OE-Core rev: 37e9465b342f6075ce13479dfed59cd2a7cc46ae)
Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Musl started blocking dlopen of libs with initial-exec references into
dynamic TLS area, via
5c2f46a214
prior to that commit, musl was loading it and silently letting
subsequent TLS accesses via the miscompiled code clobber memory that
didn't belong to them
This was wrong behavior and it relied on additional space reserved by
libc in TLS space to adjust fo such broken libs, but it also fails
with glibc if the reserved space was already used up
Right fix is that mesa should be patched to remove all the
initial-exec hacks and use real TLS, and -mtls-dialect=gnu2 (TLSDESC)
should be used on archs it's supported on (i386, x86_64, and aarch64)
to make up for the lost performance, but mesa hardcodes the initial-exec,
so there must be a reason that probably is better known to mesa devs.
but we 'fixed' it for musl by adding --disable-glx-tls for mesa in OE,
which uses pthread_getspecific instead and makes is lot slower.
this caused additional problems with security flags on, it get textrels
in .text segment. Therefore this is 'second fix' to get us through this
warning.
Cause is some unknown part of mesa's x86 assembly code is broken by
readonly text segments
[ YOCTO #12918 ]
(From OE-Core rev: 27c25de38aacc98fe376422bbbee417b2b45a98e)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
virgl driver should be enabled for qemux86/qemux86-64 machines, or else
it will cause runtime issue due to virtio_gpu driver missing.
(From OE-Core rev: 5f143ceb1fac06ac84370ceb0cf0fba656effdf8)
Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Whilst turning on the LLVM drivers is a honourable goal, the performance impact
is *huge*. Instead let specific BSPs turn it on as required.
(From OE-Core rev: 882d31bc0dbe20434d2b89aa92901374bb5e5666)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
See https://bugs.freedesktop.org/show_bug.cgi?id=35268
mesa should infact stop using __attribute__((tls_model("initial-exec")))
until then we disale TLS in glx for musl
The problem could happen even on glibc if static TLS sizes are large enough
which would mean that additional space the glibc leaves for such rogue libraries
get consumed and then same problems show up there as well
Fixes errors seen in xorg logs e.g.
(EE) Failed to load /usr/lib/xorg/modules/extensions/libglx.so: Error relocating /usr/lib/libGL.so.1: _ITM_deregisterTMCloneTable: initial-exec TLS resolves to dynamic definition in /usr/lib/libGL.so.1
enable readonly text segment on x86 for musl
(From OE-Core rev: f3a59540d0d1f7ab42ba7cb5ff1a26ac3a8a9f68)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When wayland and egl both are on then it enables the wayland
plugin which actually fails to build because its not finding wayland-protocol
xml templates in proper location which is recipe sysroot since
we are cross compiling
Fixes build errors e.g.
make[4]: *** No rule to make target `//usr/share/wayland-protocols/unstable/linux-dmabuf/linux-dmabuf-unstable-v1.xml', needed by `drivers/dri2/linux-dmabuf-unstable-v1-client-protocol.h'. Stop.
make[4]: *** Waiting for unfinished jobs....
(From OE-Core rev: ff4762e94faa095abd7175810d1053fdd361058f)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This platform is enabled by default but as we override the platform list doesn't
get enabled.
(From OE-Core rev: bff79adccf3b6d7e07abc965af96f9c1d499d309)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
When 'opengl' is not set in DISTRO_FEATURES, ${libdir}/pkgconfig is an
empty directory and cause installed-vs-shipped error.
(From OE-Core rev: 9e373fec2013c5b2f9297e8f88317628ba9b7dce)
Signed-off-by: Kai Kang <kai.kang@windriver.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Wayland 1.15+ now ships libwayland-egl by itself, so Mesa should remove
its instance. Previous commit 6e5952fcfc13ff4b63c9376bd41a1dbba957f425
only removed .so libraries, but left .la, which resulted in conflict.
(From OE-Core rev: 7a1d0f532bb2a6772e24a9fd4515bd1f3ab15324)
Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Ensure that python2 is not assumed to be python which can
point to python3 in some cases, when building gallium-llvm
there are scripts which are requiring python2 and wont work
with python3
(From OE-Core rev: c693b7ec8914460c891a5fb8bd36fb9401e62ac0)
Signed-off-by: Khem Raj <raj.khem@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Adpat to the upgrade from 5.0 -> 6.0.
(From OE-Core rev: dc52f9cf343df4c2d77bee0e47004466321e7edb)
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
The 'glamor' PACKAGECONFIG in xserver-xorg creates a dependency on libgbm
which can be satisfied in some cases by mesa, in others by blobs such as mali.
(From OE-Core rev: 5f8050722169a931b8e9078b8757216ba7a84506)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Mesa only PROVIDES these features if they are enabled via PACKAGECONFIG.
Therefore make the PROVIDES conditional depending on whether or not these
features have been enabled.
(From OE-Core rev: 8b1e57eb8c959c0f0a5d9a7e0c2e0811c515ea08)
Signed-off-by: Trevor Woerner <twoerner@gmail.com>
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Now that we have recipe-specific-sysroots we don't need to exclude recipes from
world builds because they conflict with other recipes, as they'll all be built
with their own sysroots.
(From OE-Core rev: b2f3ac4d994a1921791f6bd0cdb3591586733694)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
These functions were moved to meta/lib/oe in 2010 and the base_* functions in
utils.bbclass were intended to be a short-term compatibility layer. They're
still used in a few places, so update the callers to use the new functions.
(From OE-Core rev: c97acbd034532895ce57c6717ed1b3ccc7900b0d)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>