diff --git a/benchmarks/mangohud/Makefile b/benchmarks/mangohud/Makefile index 5b19ae09bd14..bb5ce79578dc 100644 --- a/benchmarks/mangohud/Makefile +++ b/benchmarks/mangohud/Makefile @@ -1,53 +1,55 @@ PORTNAME= mangohud PORTVERSION= 0.6.5 PORTREVISION= 1 DISTVERSIONPREFIX= v CATEGORIES= benchmarks graphics MASTER_SITES= https://wrapdb.mesonbuild.com/v1/projects/imgui/1.81/1/get_zip?dummy=/:igw DISTFILES= imgui-1.81-1-wrap.zip:igw MAINTAINER= danfe@FreeBSD.org COMMENT= Vulkan/OpenGL overlay for CPU/GPU monitoring WWW= https://github.com/flightlessmango/MangoHud LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE +BROKEN= https://github.com/flightlessmango/MangoHud/issues/927 + BUILD_DEPENDS= glslangValidator:graphics/glslang \ ${LOCALBASE}/share/vulkan/registry/vk.xml:graphics/vulkan-headers \ ${PYTHON_PKGNAMEPREFIX}mako>=0:textproc/py-mako@${PY_FLAVOR} LIB_DEPENDS= libinotify.so:devel/libinotify USES= compiler:c++14-lang meson pkgconfig python:build xorg USE_GITHUB= yes GH_ACCOUNT= flightlessmango ocornut:ig GH_PROJECT= MangoHud imgui:ig GH_TAGNAME= v1.81:ig GH_SUBDIR= subprojects/imgui-1.81:ig USE_XORG= x11 MESON_ARGS= -Duse_system_vulkan=enabled -Dwith_xnvctrl=disabled CPPFLAGS+= -DPROCDIR=\\\"${LINUXBASE}/proc\\\" PLIST_FILES= bin/mangohud lib/mangohud/libMangoHud.so \ lib/mangohud/libMangoHud_dlsym.so man/man1/mangohud.1.gz \ share/vulkan/implicit_layer.d/MangoHud.json PORTEXAMPLES= MangoHud.conf.example OPTIONS_DEFINE= DBUS EXAMPLES OPTIONS_DEFAULT= DBUS DBUS_LIB_DEPENDS= libdbus-1.so:devel/dbus DBUS_MESON_OFF= -Dwith_dbus=disabled post-patch: @${REINPLACE_CMD} -e 's,cygwin,${OPSYS:tl}, ; \ /^prog_python = /s,3,${PYTHON_VER},' ${WRKSRC}/meson.build @${REINPLACE_CMD} -e 's,/usr/share/doc,${PREFIX}/share/examples,' \ ${WRKSRC}/data/mangohud.1 @${REINPLACE_CMD} -e 's,libdl\.so,ld-elf.so,' \ ${WRKSRC}/src/real_dlsym.cpp @${REINPLACE_CMD} -e 's,def __gnu_linux__,ndef _WIN32,' \ ${WRKSRC}/src/logging.cpp .include diff --git a/graphics/libplacebo/Makefile b/graphics/libplacebo/Makefile index 1999e96d09a6..0abcefa24a07 100644 --- a/graphics/libplacebo/Makefile +++ b/graphics/libplacebo/Makefile @@ -1,64 +1,67 @@ PORTNAME= libplacebo DISTVERSIONPREFIX= v DISTVERSION= 5.229.2 PORTREVISION= 1 CATEGORIES= graphics MAINTAINER= jbeich@FreeBSD.org COMMENT= Reusable library for GPU-accelerated video/image rendering WWW= https://code.videolan.org/videolan/libplacebo LICENSE= LGPL21+ LICENSE_FILE= ${WRKSRC}/LICENSE USES= compiler:c11 localbase:ldflags meson pkgconfig python:3.6+,build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= haasn MESON_ARGS= -Ddemos=false +# XXX https://code.videolan.org/videolan/libplacebo/-/issues/249 +GH_TUPLE+= KhronosGroup:Vulkan-Headers:v1.3.240:vkheaders/3rdparty/Vulkan-Headers + OPTIONS_DEFINE= LCMS2 LIBUNWIND OPENGL TEST VULKAN OPTIONS_DEFAULT=LCMS2 LIBUNWIND OPENGL SHADERC OPTIONS_SINGLE= VULKAN OPTIONS_SINGLE_VULKAN= GLSLANG SHADERC OPTIONS_EXCLUDE+= ${ARCH:Naarch64:Namd64:Narmv[67]:Ni386:Npowerpc64:Npowerpc64le:Nx86_64:C/.+/LIBUNWIND/} OPTIONS_SUB= yes GLSLANG_DESC= glslang SPIR-V compiler GLSLANG_BUILD_DEPENDS= glslang>0:graphics/glslang GLSLANG_MESON_ENABLED= glslang GLSLANG_IMPLIES= VULKAN LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2 LCMS2_MESON_ENABLED= lcms LIBUNWIND_DESC= Use libunwind for stacktraces LIBUNWIND_LIB_DEPENDS= libunwind.so:devel/libunwind LIBUNWIND_MESON_ENABLED= unwind OPENGL_GH_TUPLE= Dav1dde:glad:v2.0.1:glad/3rdparty/glad OPENGL_MESON_ENABLED= opengl SHADERC_DESC= libshaderc SPIR-V compiler SHADERC_LIB_DEPENDS= libshaderc_shared.so:graphics/shaderc SHADERC_MESON_ENABLED= shaderc SHADERC_IMPLIES= VULKAN TEST_MESON_TRUE= tests VULKAN_DESC= Vulkan-based renderer VULKAN_BUILD_DEPENDS= ${LOCALBASE}/include/vulkan/vulkan.h:graphics/vulkan-headers \ ${PYTHON_PKGNAMEPREFIX}Jinja2>0:devel/py-Jinja2@${PY_FLAVOR} VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader VULKAN_MESON_ENABLED= vulkan post-patch: @${REINPLACE_CMD} -e 's,/usr/share,${PREFIX}/share,' \ ${WRKSRC}/src/vulkan/utils_gen.py # Extract (snapshot) version from port version instead of meson.build @${REINPLACE_CMD} "s/version_pretty/'${DISTVERSIONFULL}'/" \ ${WRKSRC}/src/meson.build pre-install-TEST-on: do-test .include diff --git a/graphics/libplacebo/distinfo b/graphics/libplacebo/distinfo index f028b86f60ce..27d5062d6e75 100644 --- a/graphics/libplacebo/distinfo +++ b/graphics/libplacebo/distinfo @@ -1,5 +1,7 @@ TIMESTAMP = 1672849094 SHA256 (haasn-libplacebo-v5.229.2_GH0.tar.gz) = 1c67bec76832c7a42242570798cc96a3f58a70be79daa84ade628d5bce749c84 SIZE (haasn-libplacebo-v5.229.2_GH0.tar.gz) = 673761 +SHA256 (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 98734513f4847254ef5bdd31a9c897f64938dac0733b9aea9e4b3fd339d82281 +SIZE (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 1810650 SHA256 (Dav1dde-glad-v2.0.1_GH0.tar.gz) = bbdfb8a2c8ea7fbad747dd91424fc9fc7bb22e1b95c7a5b451e68c3d9bd96d95 SIZE (Dav1dde-glad-v2.0.1_GH0.tar.gz) = 581028 diff --git a/graphics/libplacebo/files/patch-src_vulkan_meson.build b/graphics/libplacebo/files/patch-src_vulkan_meson.build new file mode 100644 index 000000000000..4a65f04088b5 --- /dev/null +++ b/graphics/libplacebo/files/patch-src_vulkan_meson.build @@ -0,0 +1,22 @@ +Workaround for https://code.videolan.org/videolan/libplacebo/-/issues/249 + +--- src/vulkan/meson.build.orig 2023-01-04 16:18:14 UTC ++++ src/vulkan/meson.build +@@ -4,17 +4,10 @@ registry_xml = get_option('vulkan-registry') + vulkan_headers = disabler() + registry_xml = get_option('vulkan-registry') + +-if vulkan_loader.found() +- vulkan_headers = vulkan_loader.partial_dependency(includes: true, compile_args: true) +-# Probe for as a fallback for the vulkan headers +-elif cc.has_header_symbol('vulkan/vulkan_core.h', 'VK_VERSION_1_2') +- vulkan_headers = declare_dependency() +-elif fs.is_dir(thirdparty/'Vulkan-Headers/include') + vulkan_inc = include_directories('../../3rdparty/Vulkan-Headers/include') + vulkan_headers = declare_dependency(include_directories: vulkan_inc) + # Force the use of this vk.xml because it has to be in sync with the headers + registry_xml = thirdparty/'Vulkan-Headers/registry/vk.xml' +-endif + + build_deps += vulkan_headers + if not vulkan_headers.found() diff --git a/graphics/vulkan-extension-layer/Makefile b/graphics/vulkan-extension-layer/Makefile index 1ed6b998c1a3..103f9aa22e85 100644 --- a/graphics/vulkan-extension-layer/Makefile +++ b/graphics/vulkan-extension-layer/Makefile @@ -1,21 +1,26 @@ PORTNAME= vulkan-extension-layer DISTVERSIONPREFIX= v DISTVERSION= 1.3.239 CATEGORIES= graphics MAINTAINER= jbeich@FreeBSD.org COMMENT= Layer providing Vulkan features when native support is unavailable WWW= https://github.com/KhronosGroup/Vulkan-ExtensionLayer LICENSE= APACHE20 BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers USES= cmake compiler:c++11-lib USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= KhronosGroup GH_PROJECT= Vulkan-ExtensionLayer CMAKE_OFF= BUILD_TESTS +.if ${DISTVERSION:E} < 241 +GH_TUPLE+= KhronosGroup:Vulkan-Headers:v1.3.240:vkheaders/Vulkan-Headers +CFLAGS+= -I${WRKSRC_vkheaders}/include +.endif + .include diff --git a/graphics/vulkan-extension-layer/distinfo b/graphics/vulkan-extension-layer/distinfo index 694b2dd66952..89d50e5e1bb3 100644 --- a/graphics/vulkan-extension-layer/distinfo +++ b/graphics/vulkan-extension-layer/distinfo @@ -1,3 +1,5 @@ TIMESTAMP = 1674235192 SHA256 (KhronosGroup-Vulkan-ExtensionLayer-v1.3.239_GH0.tar.gz) = 7d023d8881e072e6c233978e23a90e42c1c4931fcad6287cb4c529a39e18168f SIZE (KhronosGroup-Vulkan-ExtensionLayer-v1.3.239_GH0.tar.gz) = 522210 +SHA256 (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 98734513f4847254ef5bdd31a9c897f64938dac0733b9aea9e4b3fd339d82281 +SIZE (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 1810650 diff --git a/graphics/vulkan-headers/Makefile b/graphics/vulkan-headers/Makefile index dbd1dafa0e69..1f0127b3f38b 100644 --- a/graphics/vulkan-headers/Makefile +++ b/graphics/vulkan-headers/Makefile @@ -1,30 +1,30 @@ PORTNAME= vulkan-headers DISTVERSIONPREFIX= v -DISTVERSION= 1.3.240 +DISTVERSION= 1.3.241 CATEGORIES= graphics MAINTAINER= jbeich@FreeBSD.org COMMENT= Headers for the Vulkan graphics API WWW= https://github.com/KhronosGroup/Vulkan-Headers LICENSE= APACHE20 USES= cmake USE_GITHUB= yes GH_ACCOUNT= KhronosGroup GH_PROJECT= Vulkan-Headers STRIP= # nothing to strip NO_ARCH= yes post-extract: # genvk.py requires docgenerator.py from Vulkan-Docs, so drop useless shebang @${FIND} ${WRKSRC}/registry -name \*.py -exec ${REINPLACE_CMD} -i '' '/^#!/d' {} + post-patch: # XXX Drop after FreeBSD 12.* EOL around 2024-06-30 @if [ -L /usr/include/sched.h ]; then \ ${REINPLACE_CMD} $$'/^namespace/i\\\n#undef major\\\n#undef minor\\\n\\\n' \ ${WRKSRC}/include/vulkan/vulkan_structs.hpp; \ fi .include diff --git a/graphics/vulkan-headers/distinfo b/graphics/vulkan-headers/distinfo index 2eb53af5126b..292b198409fd 100644 --- a/graphics/vulkan-headers/distinfo +++ b/graphics/vulkan-headers/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1674724520 -SHA256 (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 98734513f4847254ef5bdd31a9c897f64938dac0733b9aea9e4b3fd339d82281 -SIZE (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 1810650 +TIMESTAMP = 1676556552 +SHA256 (KhronosGroup-Vulkan-Headers-v1.3.241_GH0.tar.gz) = 4322fd17d456c0687ed947b1b75d7b10b121ec20ed43d1cfa76e721f7e803bec +SIZE (KhronosGroup-Vulkan-Headers-v1.3.241_GH0.tar.gz) = 1826896 diff --git a/graphics/vulkan-headers/pkg-plist b/graphics/vulkan-headers/pkg-plist index 9f5caedf90a2..d7f0c0b98b90 100644 --- a/graphics/vulkan-headers/pkg-plist +++ b/graphics/vulkan-headers/pkg-plist @@ -1,53 +1,54 @@ include/vk_video/vulkan_video_codec_h264std.h include/vk_video/vulkan_video_codec_h264std_decode.h include/vk_video/vulkan_video_codec_h264std_encode.h include/vk_video/vulkan_video_codec_h265std.h include/vk_video/vulkan_video_codec_h265std_decode.h include/vk_video/vulkan_video_codec_h265std_encode.h include/vk_video/vulkan_video_codecs_common.h include/vulkan/vk_icd.h include/vulkan/vk_layer.h include/vulkan/vk_platform.h include/vulkan/vulkan.h include/vulkan/vulkan.hpp include/vulkan/vulkan_android.h include/vulkan/vulkan_beta.h include/vulkan/vulkan_core.h include/vulkan/vulkan_directfb.h include/vulkan/vulkan_enums.hpp include/vulkan/vulkan_format_traits.hpp include/vulkan/vulkan_fuchsia.h include/vulkan/vulkan_funcs.hpp include/vulkan/vulkan_ggp.h include/vulkan/vulkan_handles.hpp include/vulkan/vulkan_hash.hpp include/vulkan/vulkan_ios.h include/vulkan/vulkan_macos.h include/vulkan/vulkan_metal.h include/vulkan/vulkan_raii.hpp include/vulkan/vulkan_screen.h include/vulkan/vulkan_static_assertions.hpp include/vulkan/vulkan_structs.hpp include/vulkan/vulkan_to_string.hpp include/vulkan/vulkan_vi.h include/vulkan/vulkan_wayland.h include/vulkan/vulkan_win32.h include/vulkan/vulkan_xcb.h include/vulkan/vulkan_xlib.h include/vulkan/vulkan_xlib_xrandr.h share/cmake/VulkanHeaders/VulkanHeadersConfig.cmake share/cmake/VulkanHeaders/VulkanHeadersConfigVersion.cmake share/cmake/VulkanHeaders/VulkanHeadersTargets.cmake share/vulkan/registry/apiconventions.py share/vulkan/registry/cgenerator.py share/vulkan/registry/generator.py share/vulkan/registry/genvk.py +share/vulkan/registry/parse_dependency.py share/vulkan/registry/profiles/VP_KHR_roadmap_2022.json share/vulkan/registry/reg.py share/vulkan/registry/spec_tools/conventions.py share/vulkan/registry/spec_tools/util.py share/vulkan/registry/stripAPI.py share/vulkan/registry/validusage.json share/vulkan/registry/video.xml share/vulkan/registry/vk.xml share/vulkan/registry/vkconventions.py diff --git a/graphics/vulkan-loader/Makefile b/graphics/vulkan-loader/Makefile index 623125bdd836..0b4b0dbf9c01 100644 --- a/graphics/vulkan-loader/Makefile +++ b/graphics/vulkan-loader/Makefile @@ -1,52 +1,53 @@ PORTNAME= vulkan-loader DISTVERSIONPREFIX= v DISTVERSION= 1.3.240 +PORTREVISION= 1 CATEGORIES= graphics devel MAINTAINER= jbeich@FreeBSD.org COMMENT= Driver loader for the Vulkan graphics API WWW= https://github.com/KhronosGroup/Vulkan-Loader LICENSE= APACHE20 BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers USES= alias cmake compiler:c++11-lib pkgconfig python:3.4+,build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= KhronosGroup GH_PROJECT= Vulkan-Loader CMAKE_ON= CMAKE_SKIP_RPATH CMAKE_OFF= BUILD_TESTS OPTIONS_DEFINE= WAYLAND XCB XLIB OPTIONS_DEFAULT=WAYLAND XCB XLIB WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT XCB_DESC= ${X11_DESC} via libxcb XCB_USES= xorg XCB_USE= XORG=xcb XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT XLIB_DESC= ${X11_DESC} via libX11 XLIB_USES= xorg XLIB_USE= XORG=x11,xrandr XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT post-patch: # Extract (snapshot) version from the port # Respect PREFIX when XDG_CONFIG_DIRS and XDG_DATA_DIRS are unset @${REINPLACE_CMD} -e '/find_.*Git/d' \ -e '/BRANCH/s/--unknown--/main/' \ -e '/TAG/s/--unknown--/${DISTVERSIONFULL}/' \ -e '/FALLBACK/s,/etc,${PREFIX}&,' \ -e 's,/usr/local,${PREFIX},' \ ${WRKSRC}/CMakeLists.txt # https://github.com/llvm/llvm-project/issues/46692 @if [ "${CHOSEN_COMPILER_TYPE}-${ARCH}-${_OSRELEASE:C/.*-//}" = "clang-i386-CURRENT" ]; then \ ${ECHO} "disabled" >${WRKSRC}/loader/asm_test_x86.S; \ fi .include diff --git a/graphics/vulkan-validation-layers/Makefile b/graphics/vulkan-validation-layers/Makefile index 8e4da5b65b96..b86d28ad2e5b 100644 --- a/graphics/vulkan-validation-layers/Makefile +++ b/graphics/vulkan-validation-layers/Makefile @@ -1,42 +1,47 @@ PORTNAME= vulkan-validation-layers DISTVERSIONPREFIX= v DISTVERSION= 1.3.240 CATEGORIES= graphics MAINTAINER= jbeich@FreeBSD.org COMMENT= Validation layers for the Vulkan graphics API WWW= https://github.com/KhronosGroup/Vulkan-ValidationLayers LICENSE= APACHE20 BUILD_DEPENDS= robin-hood-hashing>0:devel/robin-hood-hashing \ spirv-tools>0:graphics/spirv-tools \ vulkan-headers>0:graphics/vulkan-headers USES= alias cmake compiler:c++11-lib pkgconfig python:3.4+,build USE_GITHUB= yes USE_LDCONFIG= yes GH_ACCOUNT= KhronosGroup GH_PROJECT= Vulkan-ValidationLayers GH_TUPLE= KhronosGroup:SPIRV-Headers:1.5.4.raytracing.fixed-214-gd13b522:headers/external/spirv-headers CMAKE_OFF= BUILD_TESTS CMAKE_ON= BUILD_LAYER_SUPPORT_FILES CMAKE_ARGS= -DSPIRV_HEADERS_INSTALL_DIR:PATH="${WRKSRC_headers}" +.if ${DISTVERSION:E} < 241 +GH_TUPLE+= KhronosGroup:Vulkan-Headers:v1.3.240:vkheaders/Vulkan-Headers +CFLAGS+= -I${WRKSRC_vkheaders}/include +.endif + OPTIONS_DEFINE= WAYLAND XCB XLIB OPTIONS_DEFAULT=WAYLAND XCB XLIB WAYLAND_LIB_DEPENDS= libwayland-egl.so:graphics/wayland WAYLAND_CMAKE_BOOL= BUILD_WSI_WAYLAND_SUPPORT XCB_DESC= ${X11_DESC} via libxcb XCB_USES= xorg XCB_USE= XORG=xcb XCB_CMAKE_BOOL= BUILD_WSI_XCB_SUPPORT XLIB_DESC= ${X11_DESC} via libX11 XLIB_USES= xorg XLIB_USE= XORG=x11,xrandr XLIB_CMAKE_BOOL= BUILD_WSI_XLIB_SUPPORT .include diff --git a/graphics/vulkan-validation-layers/distinfo b/graphics/vulkan-validation-layers/distinfo index d076762b1538..6394fdef2b9e 100644 --- a/graphics/vulkan-validation-layers/distinfo +++ b/graphics/vulkan-validation-layers/distinfo @@ -1,5 +1,7 @@ TIMESTAMP = 1674858550 SHA256 (KhronosGroup-Vulkan-ValidationLayers-v1.3.240_GH0.tar.gz) = 4ea885a071bcac8af8e9a0fd319af3e4114e214ebe2564f67729a78b37eee1f0 SIZE (KhronosGroup-Vulkan-ValidationLayers-v1.3.240_GH0.tar.gz) = 4555043 SHA256 (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-214-gd13b522_GH0.tar.gz) = f4f0663a7fc0c17beaecb824c58ece4169edec1b3bb6eb1f6857b7b56bad3194 SIZE (KhronosGroup-SPIRV-Headers-1.5.4.raytracing.fixed-214-gd13b522_GH0.tar.gz) = 446635 +SHA256 (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 98734513f4847254ef5bdd31a9c897f64938dac0733b9aea9e4b3fd339d82281 +SIZE (KhronosGroup-Vulkan-Headers-v1.3.240_GH0.tar.gz) = 1810650