graphics/mesa-devel: enable LTO by default

Mesa drivers are large, so let linker optimize across files.
May improve init/load time without increasing FPS counter.

Beware of dragons on non-amd64 e.g.,

  $ vkcube-xcb
  Selected GPU 0: Intel(R) HD Graphics 530 (SKL GT2), type: 1
  Assertion failed: (!err), function demo_prepare_buffers, file Vulkan-Tools-1.2.170/cube/cube.c, line 1344.
  Abort trap

Inspired by:	Arch Linux
This commit is contained in:
Jan Beich 2021-02-20 19:06:12 +00:00
parent 59a8165165
commit 55006395d2
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=566179

View file

@ -3,6 +3,7 @@
PORTNAME= mesa
DISTVERSION= 21.0-branchpoint-1876
DISTVERSIONSUFFIX= -g575756274a8
PORTREVISION= 1
CATEGORIES= graphics
PKGNAMESUFFIX= -devel
@ -55,13 +56,14 @@ PLIST_SUB= ARCH=${ARCH:S/amd/x86_/}
LDFLAGS+= -fuse-ld=lld
.endif
OPTIONS_DEFINE= ${OPTIONS_MULTI} LIBUNWIND LLVM VAAPI VDPAU WAYLAND X11 ZSTD
OPTIONS_DEFAULT= ${OPTIONS_MULTI} LIBUNWIND LLVM VAAPI VDPAU WAYLAND X11 ZSTD
OPTIONS_DEFINE= ${OPTIONS_MULTI} LIBUNWIND LLVM LTO VAAPI VDPAU WAYLAND X11 ZSTD
OPTIONS_DEFAULT= ${OPTIONS_MULTI} LIBUNWIND LLVM LTO VAAPI VDPAU WAYLAND X11 ZSTD
OPTIONS_MULTI= DRI GALLIUM VULKAN
OPTIONS_MULTI_DRI= i965
OPTIONS_MULTI_GALLIUM= iris r600 radeonsi
OPTIONS_MULTI_VULKAN= anv radv
OPTIONS_EXCLUDE_DragonFly= LIBUNWIND anv
OPTIONS_EXCLUDE_i386= LTO # anv: vkcube fails on vkCreateSwapchainKHR
OPTIONS_EXCLUDE+= ${ARCH:Namd64:Ni386:Nx86_64:C/.+/anv i965 iris/}
OPTIONS_EXCLUDE+= ${ARCH:Naarch64:Namd64:Ni386:Npowerpc64:Npowerpc64le:Nx86_64:C/.+/LIBUNWIND/}
OPTIONS_EXCLUDE+= ${"${GL_DEFAULT:S/,/ /g:[-1]}"==${.CURDIR:T}:?COINST:}
@ -111,6 +113,8 @@ LLVM_BINARY_ALIAS= llvm-config=llvm-config${LLVM_DEFAULT}
${i}_IMPLIES+= LLVM
.endfor
LTO_MESON_TRUE= b_lto
VAAPI_BUILD_DEPENDS= libva>0:multimedia/libva
VAAPI_MESON_ENABLED= gallium-va