kmsro allow to support KMS displays with the renderonly layer used to
attach a GPU [1].
Quote from mesa3d meson.build: "kmsro driver requires one or more
renderonly drivers (vc4, etnaviv, freedreno)". But only vc4 support is
available by using the (deprecated) autotools build system [2].
This will also be used by mesa to support KMSRO with the upcomming
Panfrost and Lima Gallium drivers.
[1] https://cgit.freedesktop.org/mesa/mesa/commit/?id=ed65aeec7810a7d98a19461ba933bd77268cb0f6
[2] https://cgit.freedesktop.org/mesa/mesa/tree/configure.ac?h=mesa-19.0.1#n2864
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Since the bump to 1.5.3, the behavior of pkg-config has slightly
changed. Like it used to behave before this bump, a few paths (libdir,
includedir, etc.) are prefixed by the sysroot, and other paths are
not. However, the behavior changes when a path, such as dridriverdir,
is defined in terms of ${libdir}.
With the older pkg-config, dridriverdir was not sysroot-prefixed.
With the new pkg-config, it will be sysroot-prefixed, because
pkg-config really resolved the value of libdir, which is
sysroot-prefixed. dridriverdir is used on the target and not at build
time, so we don't want it to be sysroot-prefixed.
As reported by #11591, the xerver fail to load dri modules (r600_dri.so):
>From Xorg.0.log:
(EE) AIGLX error: dlopen of /full/path/to/sysroot/usr/lib/dri/r600_dri.so failed (/full/path/to/sysroot/usr/lib/dri/r600_dri.so: cannot open shared object file: No such file or directory)
(II) GLX: no usable GL providers found for screen 0
That's because the xserver hardcode the dri divers directory path in
DRI_DRIVER_PATH which come from
dridriverdir=`$PKG_CONFIG --variable=dridriverdir dri`
We can see in dri.pc that dridriverdir use libdir which is now prefixed
by the sysroot by pkgconf 1.5.3:
prefix=/usr
exec_prefix=/usr
libdir=${exec_prefix}/lib
includedir=${prefix}/include
dridriverdir=${libdir}/dri
Since we can't rely on pkgconf anymore, use
--with-dri-driverdir="/usr/lib/dri" to use explicitly "/usr/lib/dri"
instead of relying on dri.pc.
Tested using TestGlxinfo test from:
http://patchwork.ozlabs.org/patch/1021669/
Fixes:
https://bugs.buildroot.org/show_bug.cgi?id=11591
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
[Thomas: drop double quotes in path, rework commit log]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
This patch provides Clover, the OpenCL 1.1 API implementation by Mesa
for AMD GPUs. It generates libOpenCL.so.
Add --disable-opencl-icd because in Mesa 18 it defaults to on. When
disabled, the shared library is named libOpenCL instead of
libMesaOpenCL and CL headers are installed.
Given that clc headers are being installed to a non-standard location,
it is necessary to specify this path in configure.ac. Otherwise,
pkg-config will output the absolute path to these headers located in
STAGING_DIR, which will cause a runtime error when calling
clBuildProgram.
Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Signed-off-by: Valentin Korenblit <valentinkorenblit@gmail.com>
[Thomas:
- improve the description of the patch, based on input from Romain
- register as a libopencl provider]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Signed-off-by: Valentin Korenblit <a class="moz-txt-link-rfc2396E" href="mailto:valentin.korenblit@smile.fr"><valentin.korenblit@smile.fr></a>
Signed-off-by: Valentin Korenblit <a class="moz-txt-link-rfc2396E" href="mailto:valentinkorenblit@gmail.com"><valentinkorenblit@gmail.com></a>
Signed-off-by: Thomas Petazzoni <a class="moz-txt-link-rfc2396E" href="mailto:thomas.petazzoni@bootlin.com"><thomas.petazzoni@bootlin.com></a>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Preliminary patch to prevent Mesa from building OpenCL lib as
soon as libclc is available.
Signed-off-by: Valentin Korenblit <valentin.korenblit@smile.fr>
Signed-off-by: Valentin Korenblit <valentinkorenblit@gmail.com>
Acked-by: Romain Naour <romain.naour@smile.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
memfd.h was included in kernel 3.17, not 3.18.
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
The new package xorgproto will combine and replace all current xproto_*
packages. For details read
https://lists.x.org/archives/xorg-announce/2018-February/002835.html
Removed dri3 handling because xorgproto always installs dri3proto.
Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Rebase the two patches on 18.1.1.
Convert 0001-musl.patch to git patch.
See:
https://lists.freedesktop.org/archives/mesa-dev/2018-June/196523.html
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Fix typo introduced with the bump to 18.0.4.
Commit f18ca0e7bb
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
The configure.ac check for atomic intrinsics assumes that if an atomic
intrinsic is not available, it's because we must link with
libatomic. Except that libatomic is not always available, for example
with gcc <= 4.7.
To fix this, this commit adds a patch that reworks the atomic check in
configure.ac. It has been submitted upstream, and tested in a number
of different combinations.
Fixes:
http://autobuild.buildroot.net/results/b045488d880a4013ed82937e7115b7636867e01d/
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Commit "add dependency on elfutils for R600 with LLVM" [1] select
elfutils package at Kconfig level without adding it the make dependency.
Enabling r600 support lead to a build issue when building from
scratch with "make mesa3d".
Fixes:
checking for RADEON... yes
configure: error: r600 requires libelf when using llvm
elfutils dependency is needed by r600 with llvm support and radeonSI.
Fixes:
checking for RADEON... yes
checking for AMDGPU... yes
configure: error: radeonsi requires libelf when using llvm
Add a new BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS hidden Config.in boolean
selected by R600 and RadeonSI at Kconfig level.
When selected, BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS add elfutils dependency
at make level.
[1] 92fda8761a
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Michał Kalbarczyk <michal@gamecodehq.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
Fixes:
checking for AMDGPU... yes
configure: error: --enable-llvm is required when building radeonsi
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Cc: Michał Kalbarczyk <michal@gamecodehq.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
When BR2_PACKAGE_MESA3D_OPENGL_EGL is selected with RadeonSI drvier,
mesa platform must be specified with drm.
Fixes:
hecking for RADEON... yes
checking for AMDGPU... yes
configure: error: radeonsi requires one of these:
1) --with-platforms=drm (X, Wayland, offscreen rendering based on DRM)
2) --with-platforms=surfaceless (offscreen only)
3) --with-platforms=android (Android only)
Recommended options: drm,x11
Signed-off-by: Romain Naour <romain.naour@gmail.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>