Merge pull request #6505 from lumarogit/mesa

(testing) mesa: fix build with LLVM 17
This commit is contained in:
Luis
2023-09-20 17:22:52 +02:00
committed by GitHub
6 changed files with 187 additions and 0 deletions

2
testing/mesa/.checksums Normal file
View File

@@ -0,0 +1,2 @@
e3318926ad93230d2bef48ac0ab0d8f1 fix-build-llvm17.patch
1b95b46eb977b2b34cd9c02e93ca4659 mesa-23.1.7.tar.xz

96
testing/mesa/.pkgfiles Normal file
View File

@@ -0,0 +1,96 @@
mesa-23.1.7-2
drwxr-xr-x root/root usr/
drwxr-xr-x root/root usr/bin/
-r-xr-xr-x root/root usr/bin/mesa-overlay-control.py
drwxr-xr-x root/root usr/include/
drwxr-xr-x root/root usr/include/EGL/
-rw-r--r-- root/root usr/include/EGL/eglext_angle.h
-rw-r--r-- root/root usr/include/EGL/eglmesaext.h
drwxr-xr-x root/root usr/include/GL/
drwxr-xr-x root/root usr/include/GL/internal/
-rw-r--r-- root/root usr/include/GL/internal/dri_interface.h
-rw-r--r-- root/root usr/include/GL/osmesa.h
-rw-r--r-- root/root usr/include/gbm.h
-rw-r--r-- root/root usr/include/xa_composite.h
-rw-r--r-- root/root usr/include/xa_context.h
-rw-r--r-- root/root usr/include/xa_tracker.h
drwxr-xr-x root/root usr/lib/
drwxr-xr-x root/root usr/lib/dri/
hrwxr-xr-x root/root usr/lib/dri/crocus_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/i915_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/iris_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/kms_swrast_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/nouveau_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/nouveau_drv_video.so link to usr/lib/dri/r600_drv_video.so
hrwxr-xr-x root/root usr/lib/dri/r300_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/r600_dri.so link to usr/lib/dri/radeonsi_dri.so
-rwxr-xr-x root/root usr/lib/dri/r600_drv_video.so
-rwxr-xr-x root/root usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/radeonsi_drv_video.so link to usr/lib/dri/r600_drv_video.so
hrwxr-xr-x root/root usr/lib/dri/swrast_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/virtio_gpu_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/virtio_gpu_drv_video.so link to usr/lib/dri/r600_drv_video.so
hrwxr-xr-x root/root usr/lib/dri/vmwgfx_dri.so link to usr/lib/dri/radeonsi_dri.so
hrwxr-xr-x root/root usr/lib/dri/zink_dri.so link to usr/lib/dri/radeonsi_dri.so
lrwxrwxrwx root/root usr/lib/libEGL_mesa.so -> libEGL_mesa.so.0
lrwxrwxrwx root/root usr/lib/libEGL_mesa.so.0 -> libEGL_mesa.so.0.0.0
-rwxr-xr-x root/root usr/lib/libEGL_mesa.so.0.0.0
lrwxrwxrwx root/root usr/lib/libGLX_indirect.so.0 -> libGLX_mesa.so.0
lrwxrwxrwx root/root usr/lib/libGLX_mesa.so -> libGLX_mesa.so.0
lrwxrwxrwx root/root usr/lib/libGLX_mesa.so.0 -> libGLX_mesa.so.0.0.0
-rwxr-xr-x root/root usr/lib/libGLX_mesa.so.0.0.0
lrwxrwxrwx root/root usr/lib/libOSMesa.so -> libOSMesa.so.8
lrwxrwxrwx root/root usr/lib/libOSMesa.so.8 -> libOSMesa.so.8.0.0
-rwxr-xr-x root/root usr/lib/libOSMesa.so.8.0.0
-rwxr-xr-x root/root usr/lib/libVkLayer_INTEL_nullhw.so
-rwxr-xr-x root/root usr/lib/libVkLayer_MESA_device_select.so
-rwxr-xr-x root/root usr/lib/libVkLayer_MESA_overlay.so
lrwxrwxrwx root/root usr/lib/libgbm.so -> libgbm.so.1
lrwxrwxrwx root/root usr/lib/libgbm.so.1 -> libgbm.so.1.0.0
-rwxr-xr-x root/root usr/lib/libgbm.so.1.0.0
lrwxrwxrwx root/root usr/lib/libglapi.so -> libglapi.so.0
lrwxrwxrwx root/root usr/lib/libglapi.so.0 -> libglapi.so.0.0.0
-rwxr-xr-x root/root usr/lib/libglapi.so.0.0.0
-rwxr-xr-x root/root usr/lib/libvulkan_intel.so
-rwxr-xr-x root/root usr/lib/libvulkan_radeon.so
lrwxrwxrwx root/root usr/lib/libxatracker.so -> libxatracker.so.2
lrwxrwxrwx root/root usr/lib/libxatracker.so.2 -> libxatracker.so.2.5.0
-rwxr-xr-x root/root usr/lib/libxatracker.so.2.5.0
drwxr-xr-x root/root usr/lib/pkgconfig/
-rw-r--r-- root/root usr/lib/pkgconfig/dri.pc
-rw-r--r-- root/root usr/lib/pkgconfig/gbm.pc
-rw-r--r-- root/root usr/lib/pkgconfig/osmesa.pc
-rw-r--r-- root/root usr/lib/pkgconfig/xatracker.pc
drwxr-xr-x root/root usr/lib/vdpau/
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_nouveau.so -> libvdpau_nouveau.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_nouveau.so.1 -> libvdpau_nouveau.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_nouveau.so.1.0 -> libvdpau_nouveau.so.1.0.0
hrwxr-xr-x root/root usr/lib/vdpau/libvdpau_nouveau.so.1.0.0 link to usr/lib/vdpau/libvdpau_r600.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_r600.so -> libvdpau_r600.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_r600.so.1 -> libvdpau_r600.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_r600.so.1.0 -> libvdpau_r600.so.1.0.0
-rwxr-xr-x root/root usr/lib/vdpau/libvdpau_r600.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_radeonsi.so -> libvdpau_radeonsi.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_radeonsi.so.1 -> libvdpau_radeonsi.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_radeonsi.so.1.0 -> libvdpau_radeonsi.so.1.0.0
hrwxr-xr-x root/root usr/lib/vdpau/libvdpau_radeonsi.so.1.0.0 link to usr/lib/vdpau/libvdpau_r600.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so -> libvdpau_virtio_gpu.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1 -> libvdpau_virtio_gpu.so.1.0.0
lrwxrwxrwx root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1.0 -> libvdpau_virtio_gpu.so.1.0.0
hrwxr-xr-x root/root usr/lib/vdpau/libvdpau_virtio_gpu.so.1.0.0 link to usr/lib/vdpau/libvdpau_r600.so.1.0.0
drwxr-xr-x root/root usr/share/
drwxr-xr-x root/root usr/share/drirc.d/
-rw-r--r-- root/root usr/share/drirc.d/00-mesa-defaults.conf
-rw-r--r-- root/root usr/share/drirc.d/00-radv-defaults.conf
drwxr-xr-x root/root usr/share/glvnd/
drwxr-xr-x root/root usr/share/glvnd/egl_vendor.d/
-rw-r--r-- root/root usr/share/glvnd/egl_vendor.d/50_mesa.json
drwxr-xr-x root/root usr/share/vulkan/
drwxr-xr-x root/root usr/share/vulkan/explicit_layer.d/
-rw-r--r-- root/root usr/share/vulkan/explicit_layer.d/VkLayer_INTEL_nullhw.json
-rw-r--r-- root/root usr/share/vulkan/explicit_layer.d/VkLayer_MESA_overlay.json
drwxr-xr-x root/root usr/share/vulkan/icd.d/
-rw-r--r-- root/root usr/share/vulkan/icd.d/intel_icd.x86_64.json
-rw-r--r-- root/root usr/share/vulkan/icd.d/radeon_icd.x86_64.json
drwxr-xr-x root/root usr/share/vulkan/implicit_layer.d/
-rw-r--r-- root/root usr/share/vulkan/implicit_layer.d/VkLayer_MESA_device_select.json

View File

@@ -0,0 +1,30 @@
diff --git a/src/gallium/auxiliary/gallivm/lp_bld_init.c b/src/gallium/auxiliary/gallivm/lp_bld_init.c
index 24d0823..97fcfc1 100644
--- a/src/gallium/auxiliary/gallivm/lp_bld_init.c
+++ b/src/gallium/auxiliary/gallivm/lp_bld_init.c
@@ -42,19 +42,23 @@
#include <llvm/Config/llvm-config.h>
#include <llvm-c/Analysis.h>
+#if LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Scalar.h>
-#if LLVM_VERSION_MAJOR >= 7
+#endif
+#if LLVM_VERSION_MAJOR >= 7 && LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Utils.h>
#endif
#include <llvm-c/BitWriter.h>
#if GALLIVM_USE_NEW_PASS == 1
#include <llvm-c/Transforms/PassBuilder.h>
#elif GALLIVM_HAVE_CORO == 1
-#if LLVM_VERSION_MAJOR <= 8 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
+#if LLVM_VERSION_MAJOR <= 8 && LLVM_VERSION_MAJOR < 17 && (DETECT_ARCH_AARCH64 || DETECT_ARCH_ARM || DETECT_ARCH_S390 || DETECT_ARCH_MIPS64)
#include <llvm-c/Transforms/IPO.h>
#endif
+#if LLVM_VERSION_MAJOR < 17
#include <llvm-c/Transforms/Coroutines.h>
#endif
+#endif
unsigned gallivm_perf = 0;

View File

@@ -0,0 +1,8 @@
#!/bin/sh
printf '%s\n' "Optional dependencies:
libva
libvdpau
llvm
xf86-video-intel
xf86-video-amdgpu"

View File

@@ -0,0 +1,8 @@
#!/bin/sh
printf '%s\n' "Optional dependencies:
libva
libvdpau
llvm
xf86-video-intel
xf86-video-amdgpu"

43
testing/mesa/spkgbuild Executable file
View File

@@ -0,0 +1,43 @@
# description : OpenGL compatible 3D graphics library
# depends : python3-mako elfutils bison flex libxext libxdamage libxshmfence libxxf86vm libxrandr libdrm libglvnd glslang
# optional : libva libvdpau llvm wayland-protocols
name=mesa
version=23.1.7
release=2
source="https://mesa.freedesktop.org/archive/$name-$version.tar.xz
fix-build-llvm17.patch"
build() {
# Fix build with LLVM 17
patch -d $name-$version -Np1 -i $SRC/fix-build-llvm17.patch
scratch isinstalled vulkan-icd-loader && OPT_MESA_GALLIUM='zink,'
scratch isinstalled libvdpau && OPT_MESA_VDPAU='-D gallium-vdpau=enabled' || OPT_MESA_VDPAU='-D gallium-vdpau=disabled'
scratch isinstalled libva && OPT_MESA_VAAPI='-D gallium-va=enabled' || OPT_MESA_VAAPI='-D gallium-va=disabled'
scratch isinstalled wayland-protocols && OPT_MESA_PLATFORMS='wayland,x11' || OPT_MESA_PLATFORMS='x11'
venom-meson $name-$version build \
-D dri3=enabled \
-D egl=enabled \
-D llvm=enabled \
-D shared-llvm=enabled \
-D gbm=enabled \
-D gles1=disabled \
-D gles2=enabled \
-D glx=dri \
-D osmesa=true \
-D gallium-xa=enabled \
-D gallium-drivers=${OPT_MESA_GALLIUM}crocus,iris,nouveau,r300,r600,radeonsi,svga,swrast,virgl,i915 \
-D platforms=${OPT_MESA_PLATFORMS} \
-D shared-glapi=enabled \
-D vulkan-drivers=amd,intel \
-D vulkan-layers=device-select,intel-nullhw,overlay \
-D video-codecs=vc1dec,h264dec,h264enc,h265dec,h265enc \
$OPT_MESA_VDPAU $OPT_MESA_VAAPI -D glvnd=true
meson compile -C build
DESTDIR=$PKG meson install --no-rebuild -C build
# indirect rendering symlink
ln -s libGLX_mesa.so.0 $PKG/usr/lib/libGLX_indirect.so.0
}