aboutsummaryrefslogtreecommitdiff
path: root/graphics/mesa-dri
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/mesa-dri')
-rw-r--r--graphics/mesa-dri/Makefile131
-rw-r--r--graphics/mesa-dri/Makefile.common7
-rw-r--r--graphics/mesa-dri/distinfo12
-rw-r--r--graphics/mesa-dri/pkg-plist38
4 files changed, 110 insertions, 78 deletions
diff --git a/graphics/mesa-dri/Makefile b/graphics/mesa-dri/Makefile
index f9ba777266c4..dec8ac255477 100644
--- a/graphics/mesa-dri/Makefile
+++ b/graphics/mesa-dri/Makefile
@@ -1,76 +1,100 @@
PORTNAME= mesa-dri
PORTVERSION= ${MESAVERSION}
+PORTREVISION= 1
CATEGORIES= graphics
COMMENT= OpenGL hardware acceleration drivers for DRI2+
WWW= https://www.mesa3d.org/
+BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}ply>0:devel/py-ply@${PY_FLAVOR}
+
LIB_DEPENDS+= libglapi.so:graphics/mesa-libs
USES+= llvm:lib,noexport
-OPTIONS_GROUP= PLATFORM
-OPTIONS_GROUP_PLATFORM= PLATFORM_X11 PLATFORM_WAYLAND
-PLATFORM_X11_DESC= Enable X11 support for GBM/EGL
-PLATFORM_WAYLAND_DESC= Enable Wayland support for GBM/EGL
-PLATFORM_WAYLAND_IMPLIES= WAYLAND
-
-OPTIONS_DEFINE= WAYLAND ZSTD
-OPTIONS_DEFAULT= WAYLAND PLATFORM_X11 PLATFORM_WAYLAND ZSTD
+OPTIONS_DEFINE= ZSTD
+OPTIONS_GROUP= GALLIUM PLATFORM VULKAN
+OPTIONS_DEFAULT= WAYLAND X11 ZSTD
OPTIONS_SUB= yes
-WAYLAND_DESC= Enable support for the Wayland platform in Vulkan drivers
-WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.8:graphics/wayland-protocols
-WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
-WAYLAND_IMPLIES= PLATFORM_WAYLAND
-
ZSTD_DESC= Use ZSTD for shader cache
ZSTD_LIB_DEPENDS= libzstd.so:archivers/zstd
ZSTD_MESON_ENABLED= zstd
-.include <bsd.port.options.mk>
-.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
-
-ALL_GALLIUM_DRIVERS= CROCUS I915 IRIS PANFROST R300 R600 RADEONSI SVGA \
- SWRAST ZINK
-ALL_VULKAN_DRIVERS= INTEL AMD SWRAST
-
-GALLIUM_DRIVERS+= SWRAST \
- ZINK
-VULKAN_DRIVERS+= SWRAST # lavapipe
+OPTIONS_GROUP_PLATFORM= X11 WAYLAND
+X11_DESC= Enable X11 support for GBM/EGL
+WAYLAND_DESC= Enable Wayland support for GBM/EGL and Vulkan
+WAYLAND_BUILD_DEPENDS= wayland-protocols>=1.8:graphics/wayland-protocols
+WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland
-.if ${ARCH} == aarch64
-GALLIUM_DRIVERS+= PANFROST
-.endif
+OPTIONS_GROUP_GALLIUM= crocus i915 iris panfrost r300 r600 radeonsi svga swrast zink
+GALLIUM_DESC= Unified OpenGL drivers
+crocus_DESC= Intel GPU Gen4 (Broadwater) to Gen7 (Haswell)
+i915_DESC= Intel GPU Gen3 (Grantsdale to Pineview)
+iris_DESC= Intel GPU Gen8 (Broadwell) and newer
+iris_BUILD_DEPENDS= libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
+ spirv-tools>0:graphics/spirv-tools \
+ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
+iris_RUN_DEPENDS= spirv-tools>0:graphics/spirv-tools \
+ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
+iris_CONFIGURE_ENV= PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig"
+iris_IMPLIES= SPIRV
+panfrost_DESC= ARM Midgard and Bifrost
+r300_DESC= AMD/ATI R300, R400 and R500
+r600_DESC= AMD/ATI R600, R700, Evergreen, Northern Islands
+radeonsi_DESC= AMD/ATI Southern Islands and newer
+svga_DESC= VMWare Virtual GPU
+swrast_DESC= Software Rasterizer
+zink_DESC= OpenGL on top of Khronos’ Vulkan API
+
+OPTIONS_EXCLUDE+= ${ARCH:Marmv7:C/.+/crocus i915 iris panfrost r300 r600 radeonsi svga zink/}
+OPTIONS_EXCLUDE+= ${ARCH:Naarch64:C/.+/panfrost/}
+OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/crocus i915 iris svga/}
+MESON_ARGS+= -Dgallium-drivers=${GALLIUM_DRIVERS:ts,}
+. for _gd in ${OPTIONS_GROUP_GALLIUM}
+OPTIONS_DEFAULT+= ${_gd}
+${_gd}_VARS+= GALLIUM_DRIVERS+=${_gd}
+. endfor
+
+OPTIONS_GROUP_VULKAN= anv radv swrast_vk
+VULKAN_DESC= Vulkan drivers
+anv_DESC= Intel GPU Gen9 and newer Vulkan support
+anv_BUILD_DEPENDS= glslangValidator:graphics/glslang \
+ libclc-${LLVM_PORT:T}>0:devel/libclc@${LLVM_PORT:T} \
+ spirv-tools>0:graphics/spirv-tools \
+ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
+anv_RUN_DEPENDS= spirv-tools>0:graphics/spirv-tools \
+ spirv-llvm-translator-${LLVM_PORT:T}>0:devel/spirv-llvm-translator@${LLVM_PORT:T}
+anv_CONFIGURE_ENV= PKG_CONFIG_PATH="${LLVM_PREFIX}/libdata/pkgconfig"
+radv_DESC= AMD/ATI Southern Islands and newer Vulkan support
+radv_BUILD_DEPENDS= glslangValidator:graphics/glslang
+swrast_vk_DESC= Software Rasterizer Vulkan support
+
+OPTIONS_EXCLUDE+= ${ARCH:Marmv7:C/.+/anv radv/}
+OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/anv/}
+MESON_ARGS+= -Dvulkan-drivers=${VULKAN_DRIVERS:ts,}
+. for _vd in ${OPTIONS_GROUP_VULKAN}
+OPTIONS_DEFAULT+= ${_vd}
+${_vd}_VARS+= VULKAN_DRIVERS+=${_vd:S/anv/intel/:S/radv/amd/:S/swrast_vk/swrast/}
+. endfor
-.if ${ARCH} == aarch64 || ${ARCH} == amd64 || ${ARCH} == i386 \
- || ${ARCH:Mpowerpc*} || ${ARCH} == riscv64
-GALLIUM_DRIVERS+= R300 R600 RADEONSI
-VULKAN_DRIVERS+= AMD
-BUILD_DEPENDS+= glslangValidator:graphics/glslang
-.endif
-.if ${ARCH} == amd64 || ${ARCH} == i386
-GALLIUM_DRIVERS+= CROCUS I915 IRIS SVGA
-VULKAN_DRIVERS+= INTEL
-.endif
+.include <bsd.port.options.mk>
+.include "${.CURDIR:H:H}/graphics/mesa-dri/Makefile.common"
LDFLAGS_i386= -Wl,-znotext
-.if ${PORT_OPTIONS:MPLATFORM_X11}
+.if ${PORT_OPTIONS:MX11}
MESA_PLATFORMS+= x11
-USE_XORG+= xorgproto x11 xdamage xext xfixes xshmfence xv
-.if defined(VULKAN_DRIVERS)
-USE_XORG+= xcb xrandr
-.endif
+USE_XORG+= xcb xorgproto xrandr x11 xdamage xext xfixes xshmfence xv
+.else
+MESON_ARGS+= -Dxlib-lease=disabled
.endif
-.if ${PORT_OPTIONS:MPLATFORM_WAYLAND}
+.if ${PORT_OPTIONS:MWAYLAND}
MESA_PLATFORMS+= wayland
.endif
-MESON_ARGS+= -Dgallium-drivers="${GALLIUM_DRIVERS:ts,:tl}" \
- -Dvulkan-drivers="${VULKAN_DRIVERS:ts,:tl}" \
- -Dplatforms="${MESA_PLATFORMS:ts,:tl}"
+MESON_ARGS+= -Dplatforms="${MESA_PLATFORMS:ts,:tl}"
# Vulkan Video extensions (keep in sync with mesa-gallium-va)
MESON_ARGS+= -Dvideo-codecs="vc1dec,h264dec,h264enc,h265dec,h265enc,av1dec,av1enc,vp9dec"
@@ -82,6 +106,7 @@ MESON_ARGS+= -Dandroid-libbacktrace=disabled \
-Dgallium-va=disabled \
-Dgles1=enabled \
-Dgles2=enabled \
+ -Dglvnd=disabled \
-Dglx=disabled \
-Degl=enabled \
-Dlmsensors=disabled \
@@ -89,20 +114,24 @@ MESON_ARGS+= -Dandroid-libbacktrace=disabled \
-Dosmesa=false \
-Dvalgrind=disabled
-.for _gd in ${ALL_GALLIUM_DRIVERS}
+.if ${ARCH} != amd64
+MESON_ARGS+= -Dintel-rt=disabled # https://gitlab.freedesktop.org/mesa/mesa/-/issues/10629
+.endif
+
+.for _gd in ${OPTIONS_GROUP_GALLIUM}
. if defined(GALLIUM_DRIVERS) && ${GALLIUM_DRIVERS:M${_gd}}
-PLIST_SUB+= ${_gd}_GDRIVER=""
+PLIST_SUB+= ${_gd}=""
. else
-PLIST_SUB+= ${_gd}_GDRIVER="@comment "
+PLIST_SUB+= ${_gd}="@comment "
. endif
.endfor
PLIST_SUB += ARCH=${ARCH:S/amd/x86_/}
-.for _vd in ${ALL_VULKAN_DRIVERS}
+.for _vd in ${OPTIONS_GROUP_VULKAN}
. if defined(VULKAN_DRIVERS) && ${VULKAN_DRIVERS:M${_vd}}
-PLIST_SUB+= ${_vd}_VDRIVER=""
+PLIST_SUB+= ${_vd}=""
. else
-PLIST_SUB+= ${_vd}_VDRIVER="@comment "
+PLIST_SUB+= ${_vd}="@comment "
. endif
.endfor
diff --git a/graphics/mesa-dri/Makefile.common b/graphics/mesa-dri/Makefile.common
index 6e9bb1fcf85f..a97e27012721 100644
--- a/graphics/mesa-dri/Makefile.common
+++ b/graphics/mesa-dri/Makefile.common
@@ -9,7 +9,7 @@
# - graphics/mesa-libs
# - lang/clover
-MESAVERSION= 24.0.9
+MESAVERSION= 24.1.7
MASTER_SITES= https://mesa.freedesktop.org/archive/
@@ -17,7 +17,8 @@ DISTFILES= mesa-${MESAVERSION}${EXTRACT_SUFX}
PATCH_SITES= https://gitlab.freedesktop.org/mesa/mesa/-/commit/
PATCHFILES+= 4a253aae7ca437201d2a31d2a11a1a5434fe41f1.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26284
-PATCHFILES+= 7c565db35d39bdbf4e4f867ea19f78b97c8c126f.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/27184
+PATCHFILES+= 5a9c052ba78e5d1b0020b8f8320d211d2205a958.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/29993
+PATCHFILES+= 5d48fb19553c15bbbac498afcb7cc8710a803716.patch:-p1 # https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/31931
MAINTAINER= x11@FreeBSD.org
@@ -28,7 +29,7 @@ COMPONENT= ${PORTNAME:tl:C/^lib//:C/mesa-//}
BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}mako>0:textproc/py-mako@${PY_FLAVOR}
.if ${COMPONENT} != clover
-.if ${PORT_OPTIONS:MPLATFORM_X11}
+.if ${PORT_OPTIONS:MX11}
USES+= xorg
.endif
.endif
diff --git a/graphics/mesa-dri/distinfo b/graphics/mesa-dri/distinfo
index 547e5edf6235..a28cf969a7e1 100644
--- a/graphics/mesa-dri/distinfo
+++ b/graphics/mesa-dri/distinfo
@@ -1,7 +1,9 @@
-TIMESTAMP = 1718001082
-SHA256 (mesa-24.0.9.tar.xz) = 51aa686ca4060e38711a9e8f60c8f1efaa516baf411946ed7f2c265cd582ca4c
-SIZE (mesa-24.0.9.tar.xz) = 20197892
+TIMESTAMP = 1724945188
+SHA256 (mesa-24.1.7.tar.xz) = ecd2e7b1c73998f4103542f39c6b8c968d251637ccc8caa42641aecb86cd2566
+SIZE (mesa-24.1.7.tar.xz) = 29206724
SHA256 (4a253aae7ca437201d2a31d2a11a1a5434fe41f1.patch) = 84f18f14788bd8f387e2fc754b945bf30f84b517dd917785ed5d8ef1d594e24a
SIZE (4a253aae7ca437201d2a31d2a11a1a5434fe41f1.patch) = 1626
-SHA256 (7c565db35d39bdbf4e4f867ea19f78b97c8c126f.patch) = 5af88a22abfadb91f6626c9244ed2a365e2bb283e0a42399082d1e909136d5f3
-SIZE (7c565db35d39bdbf4e4f867ea19f78b97c8c126f.patch) = 897
+SHA256 (5a9c052ba78e5d1b0020b8f8320d211d2205a958.patch) = 4b4b7e205ea333db66c809d442f17e1f865aa623c54e7e4d918c45a1f2c9704f
+SIZE (5a9c052ba78e5d1b0020b8f8320d211d2205a958.patch) = 2162
+SHA256 (5d48fb19553c15bbbac498afcb7cc8710a803716.patch) = 316360bdb0e0eb46075a8e537e1147283d1e88f2ee48d9eac13bb8c24f7d7b46
+SIZE (5d48fb19553c15bbbac498afcb7cc8710a803716.patch) = 1090
diff --git a/graphics/mesa-dri/pkg-plist b/graphics/mesa-dri/pkg-plist
index 1dbaa3607221..5c06f06c0b75 100644
--- a/graphics/mesa-dri/pkg-plist
+++ b/graphics/mesa-dri/pkg-plist
@@ -21,18 +21,18 @@ include/GL/internal/dri_interface.h
@comment include/GLES3/gl3platform.h
@comment include/KHR/khrplatform.h
@comment include/gbm.h
-%%CROCUS_GDRIVER%%lib/dri/crocus_dri.so
-%%I915_GDRIVER%%lib/dri/i915_dri.so
-%%IRIS_GDRIVER%%lib/dri/iris_dri.so
-%%PANFROST_GDRIVER%%lib/dri/panfrost_dri.so
-%%PANFROST_GDRIVER%%lib/dri/rockchip_dri.so
-%%SWRAST_GDRIVER%%lib/dri/kms_swrast_dri.so
-%%R300_GDRIVER%%lib/dri/r300_dri.so
-%%R600_GDRIVER%%lib/dri/r600_dri.so
-%%RADEONSI_GDRIVER%%lib/dri/radeonsi_dri.so
-%%SWRAST_GDRIVER%%lib/dri/swrast_dri.so
-%%SVGA_GDRIVER%%lib/dri/vmwgfx_dri.so
-%%ZINK_GDRIVER%%lib/dri/zink_dri.so
+%%crocus%%lib/dri/crocus_dri.so
+%%i915%%lib/dri/i915_dri.so
+%%iris%%lib/dri/iris_dri.so
+%%panfrost%%lib/dri/panfrost_dri.so
+%%panfrost%%lib/dri/rockchip_dri.so
+%%r300%%lib/dri/r300_dri.so
+%%r600%%lib/dri/r600_dri.so
+%%radeonsi%%lib/dri/radeonsi_dri.so
+%%svga%%lib/dri/vmwgfx_dri.so
+%%swrast%%lib/dri/kms_swrast_dri.so
+%%swrast%%lib/dri/swrast_dri.so
+%%zink%%lib/dri/zink_dri.so
@comment lib/libEGL.so
@comment lib/libEGL.so.1
@comment lib/libEGL.so.1.0.0
@@ -48,17 +48,17 @@ include/GL/internal/dri_interface.h
@comment lib/libGLESv2.so
@comment lib/libGLESv2.so.2
@comment lib/libGLESv2.so.2.0.0
-%%INTEL_VDRIVER%%lib/libvulkan_intel.so
-%%AMD_VDRIVER%%lib/libvulkan_radeon.so
-%%SWRAST_VDRIVER%%lib/libvulkan_lvp.so
+%%anv%%lib/libvulkan_intel.so
+%%radv%%lib/libvulkan_radeon.so
+%%swrast_vk%%lib/libvulkan_lvp.so
libdata/pkgconfig/dri.pc
@comment libdata/pkgconfig/egl.pc
@comment libdata/pkgconfig/gbm.pc
@comment libdata/pkgconfig/glesv1_cm.pc
@comment libdata/pkgconfig/glesv2.pc
share/drirc.d/00-mesa-defaults.conf
-%%AMD_VDRIVER%%share/drirc.d/00-radv-defaults.conf
+%%radv%%share/drirc.d/00-radv-defaults.conf
share/drirc.d/01-freebsd.conf
-%%INTEL_VDRIVER%%share/vulkan/icd.d/intel_icd.%%ARCH%%.json
-%%AMD_VDRIVER%%share/vulkan/icd.d/radeon_icd.%%ARCH%%.json
-%%SWRAST_VDRIVER%%share/vulkan/icd.d/lvp_icd.%%ARCH%%.json
+%%anv%%share/vulkan/icd.d/intel_icd.%%ARCH%%.json
+%%radv%%share/vulkan/icd.d/radeon_icd.%%ARCH%%.json
+%%swrast_vk%%share/vulkan/icd.d/lvp_icd.%%ARCH%%.json