git: 855947ebf7e7 - main - graphics/mesa: Update to 22.3

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Mon, 05 Dec 2022 14:03:50 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/ports/commit/?id=855947ebf7e738232a8bbf6d47cc56f2896f276f

commit 855947ebf7e738232a8bbf6d47cc56f2896f276f
Author:     Emmanuel Vadot <manu@FreeBSD.org>
AuthorDate: 2022-12-01 12:16:06 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2022-12-05 14:03:28 +0000

    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
    https://gitlab.freedesktop.org/mesa/mesa/-/commit/8cc766d8f7eac26b7c029a2fac1bdfdba4776c29 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
---
 devel/libclc/Makefile                              |  8 ++--
 devel/libclc/distinfo                              |  6 +--
 devel/libclc/files/patch-CMakeLists.txt            | 11 +++++
 devel/libclc/files/patch-libclc_CMakeLists.txt     | 11 -----
 devel/libclc/pkg-plist                             |  1 +
 graphics/libosmesa/Makefile                        |  1 -
 graphics/mesa-dri/Makefile                         |  4 --
 graphics/mesa-dri/Makefile.common                  |  6 +--
 graphics/mesa-dri/distinfo                         |  6 +--
 graphics/mesa-dri/files/patch-meson.build          | 48 ----------------------
 graphics/mesa-dri/files/patch-src_util_u__memory.h | 13 ++++++
 graphics/mesa-dri/files/patch-src_util_u__qsort.h  | 26 ------------
 graphics/mesa-dri/pkg-plist                        |  5 +--
 graphics/mesa-gallium-va/Makefile                  |  1 -
 graphics/mesa-gallium-va/pkg-plist                 |  1 +
 graphics/mesa-gallium-vdpau/Makefile               |  1 -
 graphics/mesa-gallium-vdpau/pkg-plist              |  1 +
 graphics/mesa-gallium-xa/Makefile                  |  1 -
 graphics/mesa-libs/Makefile                        |  1 -
 graphics/mesa-libs/pkg-plist                       |  2 +-
 lang/clover/Makefile                               |  1 -
 21 files changed, 41 insertions(+), 114 deletions(-)

diff --git a/devel/libclc/Makefile b/devel/libclc/Makefile
index d9141924494e..2276bfb75bff 100644
--- a/devel/libclc/Makefile
+++ b/devel/libclc/Makefile
@@ -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>
diff --git a/devel/libclc/distinfo b/devel/libclc/distinfo
index 6649e632ac42..aefd19a50653 100644
--- a/devel/libclc/distinfo
+++ b/devel/libclc/distinfo
@@ -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
diff --git a/devel/libclc/files/patch-CMakeLists.txt b/devel/libclc/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..0f80a7dc0993
--- /dev/null
+++ b/devel/libclc/files/patch-CMakeLists.txt
@@ -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 )
diff --git a/devel/libclc/files/patch-libclc_CMakeLists.txt b/devel/libclc/files/patch-libclc_CMakeLists.txt
deleted file mode 100644
index bf7c5f77e0e1..000000000000
--- a/devel/libclc/files/patch-libclc_CMakeLists.txt
+++ /dev/null
@@ -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 )
diff --git a/devel/libclc/pkg-plist b/devel/libclc/pkg-plist
index b7a73ae9389e..60121044550b 100644
--- a/devel/libclc/pkg-plist
+++ b/devel/libclc/pkg-plist
@@ -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
diff --git a/graphics/libosmesa/Makefile b/graphics/libosmesa/Makefile
index eaab0ec8691b..8fad2587525f 100644
--- a/graphics/libosmesa/Makefile
+++ b/graphics/libosmesa/Makefile
@@ -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 \
diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile
index 0e6e0ae7a7f6..09fb7615be54 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -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
diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common
index 15be0f6b8629..6f740b0dc964 100644
--- a/graphics/mesa-dri/Makefile.common
+++ b/graphics/mesa-dri/Makefile.common
@@ -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
diff --git a/graphics/mesa-dri/distinfo b/graphics/mesa-dri/distinfo
index 14442e09ecf8..64177c59a02f 100644
--- a/graphics/mesa-dri/distinfo
+++ b/graphics/mesa-dri/distinfo
@@ -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
diff --git a/graphics/mesa-dri/files/patch-meson.build b/graphics/mesa-dri/files/patch-meson.build
deleted file mode 100644
index af9122cb85ff..000000000000
--- a/graphics/mesa-dri/files/patch-meson.build
+++ /dev/null
@@ -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'
diff --git a/graphics/mesa-dri/files/patch-src_util_u__memory.h b/graphics/mesa-dri/files/patch-src_util_u__memory.h
new file mode 100644
index 000000000000..41d696f9d69b
--- /dev/null
+++ b/graphics/mesa-dri/files/patch-src_util_u__memory.h
@@ -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
diff --git a/graphics/mesa-dri/files/patch-src_util_u__qsort.h b/graphics/mesa-dri/files/patch-src_util_u__qsort.h
deleted file mode 100644
index f199fecd7b56..000000000000
--- a/graphics/mesa-dri/files/patch-src_util_u__qsort.h
+++ /dev/null
@@ -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
diff --git a/graphics/mesa-dri/pkg-plist b/graphics/mesa-dri/pkg-plist
index e94ec81ae316..69f6a5905f24 100644
--- a/graphics/mesa-dri/pkg-plist
+++ b/graphics/mesa-dri/pkg-plist
@@ -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
diff --git a/graphics/mesa-gallium-va/Makefile b/graphics/mesa-gallium-va/Makefile
index 7f2fb46e4916..9d32e46c2b55 100644
--- a/graphics/mesa-gallium-va/Makefile
+++ b/graphics/mesa-gallium-va/Makefile
@@ -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 \
diff --git a/graphics/mesa-gallium-va/pkg-plist b/graphics/mesa-gallium-va/pkg-plist
index 34763f0f943f..d0b0687974a8 100644
--- a/graphics/mesa-gallium-va/pkg-plist
+++ b/graphics/mesa-gallium-va/pkg-plist
@@ -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
diff --git a/graphics/mesa-gallium-vdpau/Makefile b/graphics/mesa-gallium-vdpau/Makefile
index 19916a796b03..2a1c8a0a2688 100644
--- a/graphics/mesa-gallium-vdpau/Makefile
+++ b/graphics/mesa-gallium-vdpau/Makefile
@@ -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 \
diff --git a/graphics/mesa-gallium-vdpau/pkg-plist b/graphics/mesa-gallium-vdpau/pkg-plist
index 7b0d81e78957..4eeb6f6ae445 100644
--- a/graphics/mesa-gallium-vdpau/pkg-plist
+++ b/graphics/mesa-gallium-vdpau/pkg-plist
@@ -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
diff --git a/graphics/mesa-gallium-xa/Makefile b/graphics/mesa-gallium-xa/Makefile
index 943bb82efe7b..0b87ebe49f1a 100644
--- a/graphics/mesa-gallium-xa/Makefile
+++ b/graphics/mesa-gallium-xa/Makefile
@@ -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 \
diff --git a/graphics/mesa-libs/Makefile b/graphics/mesa-libs/Makefile
index d6d3ae324a2d..e009b3a6b86f 100644
--- a/graphics/mesa-libs/Makefile
+++ b/graphics/mesa-libs/Makefile
@@ -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 \
diff --git a/graphics/mesa-libs/pkg-plist b/graphics/mesa-libs/pkg-plist
index 9389d77d5c8d..9d92766c8f37 100644
--- a/graphics/mesa-libs/pkg-plist
+++ b/graphics/mesa-libs/pkg-plist
@@ -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
diff --git a/lang/clover/Makefile b/lang/clover/Makefile
index fda409aac5ae..eeea567161f8 100644
--- a/lang/clover/Makefile
+++ b/lang/clover/Makefile
@@ -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 \