graphics/mesa: Update to 22.3

Release notes: https://lists.freedesktop.org/archives/mesa-announce/2022-November/000695.html
On top of the release notes it seems that Gallium XVMC is also removed, see
8cc766d8f7 for
more info.
Bump LLVM_DEFAULT to llvm15 so LTO works.
Also update libclc to track the one from llvm15.

Sponsored by:	Beckhoff Automation GmbH & Co. KG
Differential Revision:	https://reviews.freebsd.org/D37580
This commit is contained in:
Emmanuel Vadot 2022-12-01 13:16:06 +01:00
parent 851612fcfd
commit 855947ebf7
21 changed files with 41 additions and 114 deletions

View File

@ -1,5 +1,5 @@
PORTNAME= libclc
DISTVERSION= 13.0.1
DISTVERSION= 15.0.4
CATEGORIES= devel
MASTER_SITES= https://github.com/llvm/llvm-project/releases/download/llvmorg-${DISTVERSION:S/rc/-rc/}/
DISTNAME= libclc-${DISTVERSION}.src
@ -13,14 +13,14 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.TXT
LICENSE_NAME= Apache License 2.0 with LLVM Exceptions
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
BUILD_DEPENDS= llvm13>=13.0:devel/llvm13 \
spirv-llvm-translator-llvm13>0:devel/spirv-llvm-translator@llvm13 \
BUILD_DEPENDS= llvm15>=15.0:devel/llvm15 \
spirv-llvm-translator-llvm15>0:devel/spirv-llvm-translator@llvm15 \
libedit>=0:devel/libedit
USES= cmake compiler:c++11-lib python:3.6+,build tar:xz
USE_LDCONFIG= yes
BINARY_ALIAS= python=${PYTHON_CMD}
CMAKE_ARGS+= -DLLVM_CONFIG=${LOCALBASE}/bin/llvm-config13
CMAKE_ARGS+= -DLLVM_CONFIG=${LOCALBASE}/bin/llvm-config15
.include <bsd.port.mk>

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1666253590
SHA256 (libclc-13.0.1.src.tar.xz) = 8f0213e52e2fcaca3dfcc438f05d0e15e9b3c96fd6b0994a802b267dc1047a1d
SIZE (libclc-13.0.1.src.tar.xz) = 125852
TIMESTAMP = 1670152889
SHA256 (libclc-15.0.4.src.tar.xz) = 00cc092947ef533999db42d18a4134f6ee1d74a60f5c84387ef28ca9e02e2a16
SIZE (libclc-15.0.4.src.tar.xz) = 125840

View File

@ -0,0 +1,11 @@
--- CMakeLists.txt.orig 2022-12-04 11:23:21 UTC
+++ CMakeLists.txt
@@ -186,7 +186,7 @@ configure_file( libclc.pc.in libclc.pc @ONLY )
# pkg-config file
configure_file( libclc.pc.in libclc.pc @ONLY )
-install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION "${CMAKE_INSTALL_DATADIR}/pkgconfig" )
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION "${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig" )
install( DIRECTORY generic/include/clc DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}" )
if( ENABLE_RUNTIME_SUBNORMAL )

View File

@ -1,11 +0,0 @@
--- CMakeLists.txt.orig 2020-10-16 16:09:32 UTC
+++ CMakeLists.txt
@@ -158,7 +158,7 @@ endif()
# pkg-config file
configure_file( libclc.pc.in libclc.pc @ONLY )
-install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION ${CMAKE_INSTALL_DATADIR}/pkgconfig )
+install( FILES ${CMAKE_CURRENT_BINARY_DIR}/libclc.pc DESTINATION ${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig )
install( DIRECTORY generic/include/clc DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} )
if( ENABLE_RUNTIME_SUBNORMAL )

View File

@ -287,6 +287,7 @@ share/clc/carrizo-amdgcn-mesa-mesa3d.bc
share/clc/cayman-r600--.bc
share/clc/cedar-r600--.bc
share/clc/clspv--.bc
share/clc/clspv64--.bc
share/clc/cypress-r600--.bc
share/clc/fiji-amdgcn--.bc
share/clc/fiji-amdgcn-mesa-mesa3d.bc

View File

@ -21,7 +21,6 @@ MESON_ARGS+= -Ddri-drivers="" \
-Dgallium-va=disabled \
-Dgallium-opencl=disabled \
-Dgallium-xa=disabled \
-Dgallium-xvmc=disabled \
-Dgallium-nine=false \
-Dgles1=disabled \
-Dgles2=disabled \

View File

@ -43,10 +43,6 @@ GALLIUM_DRIVERS+= PANFROST
GALLIUM_DRIVERS+= R300 R600 RADEONSI
VULKAN_DRIVERS+= AMD
BUILD_DEPENDS+= glslangValidator:graphics/glslang
. if ${PORT_OPTIONS:MPLATFORM_X11}
USE_XORG+= xv xvmc
MESON_ARGS+= -Dgallium-xvmc=enabled
. endif
.endif
.if ${ARCH} == amd64 || ${ARCH} == i386
GALLIUM_DRIVERS+= CROCUS IRIS SVGA

View File

@ -12,7 +12,7 @@
MESAVERSION= ${MESABASEVERSION}${MESASUBVERSION:C/^(.)/.\1/}
MESADISTVERSION=${MESABASEVERSION}${MESASUBVERSION:C/^(.)/-\1/}
MESABASEVERSION= 22.2.3
MESABASEVERSION= 22.3.0
# if there is a subversion, don't include the '-' between 7.11-rc2.
MESASUBVERSION=
@ -88,11 +88,9 @@ PKGDEINSTALL= ${.CURDIR}/pkg-deinstall
BINARY_ALIAS+= python3=${PYTHON_VERSION}
LLVM_DEFAULT= 13
LLVM_DEFAULT= 15
BUILD_DEPENDS+= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
.if ${COMPONENT} != libs
RUN_DEPENDS+= llvm-config${LLVM_DEFAULT}:devel/llvm${LLVM_DEFAULT}
.endif
MESON_ARGS+= --native-file="${WRKSRC}/llvm.ini"
LDFLAGS+= -Wl,-rpath=${LOCALBASE}/llvm${LLVM_DEFAULT}/lib

View File

@ -1,3 +1,3 @@
TIMESTAMP = 1667925985
SHA256 (mesa-22.2.3.tar.xz) = ee7d026f7b1991dbae0861d359b671145c3a86f2a731353b885d2ea2d5c098d6
SIZE (mesa-22.2.3.tar.xz) = 16464020
TIMESTAMP = 1669895345
SHA256 (mesa-22.3.0.tar.xz) = 644bf936584548c2b88762111ad58b4aa3e4688874200e5a4eb74e53ce301746
SIZE (mesa-22.3.0.tar.xz) = 16878600

View File

@ -1,48 +0,0 @@
--- meson.build.orig 2022-10-11 18:53:31 UTC
+++ meson.build
@@ -1436,7 +1436,6 @@ functions_to_detect = {
'flock': '',
'strtok_r': '',
'getrandom': '',
- 'qsort_r': '',
'qsort_s': '',
}
@@ -1445,6 +1444,37 @@ endforeach
pre_args += '-DHAVE_@0@'.format(f.to_upper())
endif
endforeach
+
+if cpp.links('''
+ #define _GNU_SOURCE
+ #include <stdlib.h>
+
+ static int dcomp(const void *l, const void *r, void *t) { return 0; }
+
+ int main(int ac, char **av) {
+ int arr[] = { 1 };
+ void *t = NULL;
+ qsort_r((void*)&arr[0], 1, 1, dcomp, t);
+ return (0);
+ }''',
+ args : pre_args,
+ name : 'GNU qsort_r')
+ pre_args += '-DHAVE_GNU_QSORT_R'
+elif cpp.links('''
+ #include <stdlib.h>
+
+ static int dcomp(void *t, const void *l, const void *r) { return 0; }
+
+ int main(int ac, char **av) {
+ int arr[] = { 1 };
+ void *t = NULL;
+ qsort_r((void*)&arr[0], 1, 1, t, dcomp);
+ return (0);
+ }''',
+ args : pre_args,
+ name : 'BSD qsort_r')
+ pre_args += '-DHAVE_BSD_QSORT_R'
+endif
if cc.has_header_symbol('time.h', 'struct timespec')
pre_args += '-DHAVE_STRUCT_TIMESPEC'

View File

@ -0,0 +1,13 @@
--- src/util/u_memory.h.orig 2022-12-01 11:58:25 UTC
+++ src/util/u_memory.h
@@ -91,8 +91,8 @@ mem_dup(const void *src, size_t size)
/* Allocate a structure aligned to a cache line. (used to make atomic ops faster) */
-#define MALLOC_STRUCT_CL(T) (struct T *)align_malloc(sizeof(struct T), CACHE_LINE_SIZE)
-#define CALLOC_STRUCT_CL(T) (struct T *)align_calloc(sizeof(struct T), CACHE_LINE_SIZE)
+#define MALLOC_STRUCT_CL(T) (struct T *)align_malloc(sizeof(struct T), MESA_CACHE_LINE_SIZE)
+#define CALLOC_STRUCT_CL(T) (struct T *)align_calloc(sizeof(struct T), MESA_CACHE_LINE_SIZE)
#define FREE_CL(ptr) align_free(ptr)
#ifdef __cplusplus

View File

@ -1,26 +0,0 @@
--- src/util/u_qsort.h.orig 2022-03-18 19:26:47 UTC
+++ src/util/u_qsort.h
@@ -56,8 +56,10 @@ util_qsort_r(void *base, size_t nmemb, size_t size,
int (*compar)(const void *, const void *, void *),
void *arg)
{
-#if HAVE_QSORT_R
-# if DETECT_OS_APPLE || DETECT_OS_BSD
+#if HAVE_GNU_QSORT_R
+ /* GNU extension added in glibc 2.8 */
+ qsort_r(base, nmemb, size, compar, arg);
+#elif HAVE_BSD_QSORT_R
/* BSD/macOS qsort_r takes "arg" before the comparison function and it
* pass the "arg" before the elements.
*/
@@ -66,10 +68,6 @@ util_qsort_r(void *base, size_t nmemb, size_t size,
arg
};
qsort_r(base, nmemb, size, &data, util_qsort_adapter);
-# else
- /* GNU extension added in glibc 2.8 */
- qsort_r(base, nmemb, size, compar, arg);
-# endif
#elif HAVE_QSORT_S
# ifdef _WIN32
/* MSVC/MinGW qsort_s takes "arg" after the comparison function and it

View File

@ -1,4 +1,5 @@
@comment include/EGL/egl.h
@comment include/EGL/eglext_angle.h
@comment include/EGL/eglext.h
@comment include/EGL/eglextchromium.h
@comment include/EGL/eglmesaext.h
@ -20,10 +21,6 @@ include/GL/internal/dri_interface.h
%%SWRAST_GDRIVER%%lib/dri/swrast_dri.so
%%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so
%%ZINK_GDRIVER%%lib/dri/zink_dri.so
%%PLATFORM_X11%%%%R600_GDRIVER%%lib/libXvMCr600.so
%%PLATFORM_X11%%%%R600_GDRIVER%%lib/libXvMCr600.so.1
%%PLATFORM_X11%%%%R600_GDRIVER%%lib/libXvMCr600.so.1.0
%%PLATFORM_X11%%%%R600_GDRIVER%%lib/libXvMCr600.so.1.0.0
@comment lib/libEGL.so
@comment lib/libEGL.so.1
@comment lib/libEGL.so.1.0.0

View File

@ -28,7 +28,6 @@ MESON_ARGS+= -Ddri-drivers="" \
-Dgallium-omx=disabled \
-Dgallium-xa=disabled \
-Dgallium-opencl=disabled \
-Dgallium-xvmc=disabled \
-Dgallium-nine=false \
-Dgbm=disabled \
-Dgles1=disabled \

View File

@ -1,5 +1,6 @@
@comment include/EGL/egl.h
@comment include/EGL/eglext.h
@comment include/EGL/eglext_angle.h
@comment include/EGL/eglextchromium.h
@comment include/EGL/eglmesaext.h
@comment include/EGL/eglplatform.h

View File

@ -28,7 +28,6 @@ MESON_ARGS+= -Ddri-drivers="" \
-Dgallium-omx=disabled \
-Dgallium-xa=disabled \
-Dgallium-opencl=disabled \
-Dgallium-xvmc=disabled \
-Dgallium-nine=false \
-Dgbm=disabled \
-Dgles1=disabled \

View File

@ -1,5 +1,6 @@
@comment include/EGL/egl.h
@comment include/EGL/eglext.h
@comment include/EGL/eglext_angle.h
@comment include/EGL/eglextchromium.h
@comment include/EGL/eglmesaext.h
@comment include/EGL/eglplatform.h

View File

@ -22,7 +22,6 @@ MESON_ARGS+= -Ddri-drivers="" \
-Dgallium-omx=disabled \
-Dgallium-va=disabled \
-Dgallium-opencl=disabled \
-Dgallium-xvmc=disabled \
-Dgallium-nine=false \
-Degl=disabled \
-Dgbm=disabled \

View File

@ -30,7 +30,6 @@ ZSTD_MESON_ENABLED= zstd
.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
MESON_ARGS+= -Dgallium-vdpau=disabled \
-Dgallium-xvmc=disabled \
-Dgallium-omx=disabled \
-Dgallium-va=disabled \
-Dgallium-xa=disabled \

View File

@ -1,5 +1,5 @@
etc/libmap.d/mesa.conf
include/EGL/eglextchromium.h
include/EGL/eglext_angle.h
include/EGL/eglmesaext.h
@comment include/GL/internal/dri_interface.h
include/gbm.h

View File

@ -27,7 +27,6 @@ MESON_ARGS+= -Ddri-drivers="" \
-Dgallium-va=disabled \
-Dgallium-vdpau=disabled \
-Dgallium-xa=disabled \
-Dgallium-xvmc=disabled \
-Dgles1=disabled \
-Dgles2=disabled \
-Dopengl=false \