From c9be277fb3b7ef2ea2bfcede972b91d91abe2e54 Mon Sep 17 00:00:00 2001 From: Alexander Kanavin Date: Wed, 6 Mar 2024 07:42:27 -0800 Subject: vulkan: upgrade 1.3.268.0 -> 1.3.275.0 Add vulkan-volk recipe to support building latest vulkan-tools. (From OE-Core rev: d3d0375fa0b4809d2c69837faf5df297d92de683) Signed-off-by: Alexander Kanavin Signed-off-by: Richard Purdie --- meta/conf/distro/include/maintainers.inc | 1 + .../glslang/0001-generate-glslang-pkg-config.patch | 13 +++--- meta/recipes-graphics/glslang/glslang_1.3.268.0.bb | 37 ---------------- meta/recipes-graphics/glslang/glslang_1.3.275.0.bb | 37 ++++++++++++++++ .../spir/spirv-headers_1.3.268.0.bb | 20 --------- .../spir/spirv-headers_1.3.275.0.bb | 20 +++++++++ .../recipes-graphics/spir/spirv-tools_1.3.268.0.bb | 47 --------------------- .../recipes-graphics/spir/spirv-tools_1.3.275.0.bb | 47 +++++++++++++++++++++ .../vulkan/vulkan-headers_1.3.268.0.bb | 28 ------------- .../vulkan/vulkan-headers_1.3.275.0.bb | 28 +++++++++++++ .../vulkan/vulkan-loader_1.3.268.0.bb | 43 ------------------- .../vulkan/vulkan-loader_1.3.275.0.bb | 43 +++++++++++++++++++ .../vulkan/vulkan-tools_1.3.268.0.bb | 37 ---------------- .../vulkan/vulkan-tools_1.3.275.0.bb | 37 ++++++++++++++++ .../vulkan/vulkan-utility-libraries_1.3.268.0.bb | 33 --------------- .../vulkan/vulkan-utility-libraries_1.3.275.0.bb | 33 +++++++++++++++ .../vulkan/vulkan-validation-layers_1.3.268.0.bb | 49 ---------------------- .../vulkan/vulkan-validation-layers_1.3.275.0.bb | 49 ++++++++++++++++++++++ .../vulkan/vulkan-volk_1.3.275.0.bb | 37 ++++++++++++++++ 19 files changed, 338 insertions(+), 301 deletions(-) delete mode 100644 meta/recipes-graphics/glslang/glslang_1.3.268.0.bb create mode 100644 meta/recipes-graphics/glslang/glslang_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb create mode 100644 meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb create mode 100644 meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb delete mode 100644 meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb create mode 100644 meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc index 9faac4a89f..4ca5430a94 100644 --- a/meta/conf/distro/include/maintainers.inc +++ b/meta/conf/distro/include/maintainers.inc @@ -851,6 +851,7 @@ RECIPE_MAINTAINER:pn-vulkan-samples = "Ross Burton " RECIPE_MAINTAINER:pn-vulkan-tools = "Anuj Mittal " RECIPE_MAINTAINER:pn-vulkan-utility-libraries = "Anuj Mittal " RECIPE_MAINTAINER:pn-vulkan-validation-layers = "Vincent Davis Jr " +RECIPE_MAINTAINER:pn-vulkan-volk = "Anuj Mittal " RECIPE_MAINTAINER:pn-waffle = "Ross Burton " RECIPE_MAINTAINER:pn-watchdog = "Alexander Kanavin " RECIPE_MAINTAINER:pn-watchdog-config = "Alexander Kanavin " diff --git a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch index a2dcb13b36..316a57fa4a 100644 --- a/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch +++ b/meta/recipes-graphics/glslang/glslang/0001-generate-glslang-pkg-config.patch @@ -1,4 +1,4 @@ -From e8c1b7e1dc6d108a3b49d0adfdc4f836cfafcf1a Mon Sep 17 00:00:00 2001 +From 4cede5edcff96134baf35953d58595c4aa5f1fc5 Mon Sep 17 00:00:00 2001 From: Jose Quaresma Date: Sun, 7 Feb 2021 01:30:39 +0000 Subject: [PATCH] generate glslang pkg-config @@ -8,7 +8,6 @@ Based on https://src.fedoraproject.org/rpms/glslang/blob/main/f/0001-pkg-config- Upstream-Status: Pending Signed-off-by: Jose Quaresma - --- glslang/CMakeLists.txt | 2 ++ glslang/glslang.pc.cmake.in | 11 +++++++++++ @@ -16,21 +15,21 @@ Signed-off-by: Jose Quaresma create mode 100644 glslang/glslang.pc.cmake.in diff --git a/glslang/CMakeLists.txt b/glslang/CMakeLists.txt -index 72e82b48..c6188e12 100644 +index 37eecaad..6974935c 100644 --- a/glslang/CMakeLists.txt +++ b/glslang/CMakeLists.txt -@@ -223,6 +223,8 @@ if(ENABLE_GLSLANG_INSTALL) +@@ -251,6 +251,8 @@ if(PROJECT_IS_TOP_LEVEL) ") install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glslangTargets.cmake" DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake) endif() + configure_file(${CMAKE_CURRENT_SOURCE_DIR}/glslang.pc.cmake.in ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc @ONLY) + install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pkgconfig/glslang.pc DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) - set(ALL_HEADERS - ${GLSLANG_HEADERS} + set(PUBLIC_HEADERS + Public/ResourceLimits.h diff --git a/glslang/glslang.pc.cmake.in b/glslang/glslang.pc.cmake.in new file mode 100644 -index 00000000..948a0952 +index 00000000..43104e68 --- /dev/null +++ b/glslang/glslang.pc.cmake.in @@ -0,0 +1,11 @@ diff --git a/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb b/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb deleted file mode 100644 index 033830ba36..0000000000 --- a/meta/recipes-graphics/glslang/glslang_1.3.268.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "OpenGL / OpenGL ES Reference Compiler" -DESCRIPTION = "Glslang is the official reference compiler front end for the \ -OpenGL ES and OpenGL shading languages. It implements a strict interpretation \ -of the specifications for these languages. It is open and free for anyone to use, \ -either from a command line or programmatically." -SECTION = "graphics" -HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" -LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3" - -SRCREV = "36d08c0d940cf307a23928299ef52c7970d8cee6" -SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \ - file://0001-generate-glslang-pkg-config.patch \ - " -PE = "1" -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/git" - -inherit cmake python3native - -DEPENDS = "spirv-tools" - -EXTRA_OECMAKE = " \ - -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_SHARED_LIBS=ON \ - -DENABLE_PCH=OFF \ - -DENABLE_CTEST=OFF \ - -DBUILD_EXTERNAL=OFF \ - -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \ -" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb b/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb new file mode 100644 index 0000000000..2fd1e72a26 --- /dev/null +++ b/meta/recipes-graphics/glslang/glslang_1.3.275.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "OpenGL / OpenGL ES Reference Compiler" +DESCRIPTION = "Glslang is the official reference compiler front end for the \ +OpenGL ES and OpenGL shading languages. It implements a strict interpretation \ +of the specifications for these languages. It is open and free for anyone to use, \ +either from a command line or programmatically." +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/opengles/sdk/tools/Reference-Compiler" +LICENSE = "BSD-3-Clause & BSD-2-Clause & MIT & Apache-2.0 & GPL-3-with-bison-exception" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=2a2b5acd7bc4844964cfda45fe807dc3" + +SRCREV = "a91631b260cba3f22858d6c6827511e636c2458a" +SRC_URI = "git://github.com/KhronosGroup/glslang.git;protocol=https;branch=main \ + file://0001-generate-glslang-pkg-config.patch \ + " +PE = "1" +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" +S = "${WORKDIR}/git" + +inherit cmake python3native + +DEPENDS = "spirv-tools" + +EXTRA_OECMAKE = " \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_SHARED_LIBS=ON \ + -DENABLE_PCH=OFF \ + -DENABLE_CTEST=OFF \ + -DBUILD_EXTERNAL=OFF \ + -DALLOW_EXTERNAL_SPIRV_TOOLS=ON \ +" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb deleted file mode 100644 index 7045f70473..0000000000 --- a/meta/recipes-graphics/spir/spirv-headers_1.3.268.0.bb +++ /dev/null @@ -1,20 +0,0 @@ -SUMMARY = "Machine-readable files for the SPIR-V Registry" -SECTION = "graphics" -HOMEPAGE = "https://www.khronos.org/registry/spir-v" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d" - -SRCREV = "e867c06631767a2d96424cbec530f9ee5e78180f" -SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" -PE = "1" -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/git" - -inherit cmake - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb b/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb new file mode 100644 index 0000000000..598a8fc209 --- /dev/null +++ b/meta/recipes-graphics/spir/spirv-headers_1.3.275.0.bb @@ -0,0 +1,20 @@ +SUMMARY = "Machine-readable files for the SPIR-V Registry" +SECTION = "graphics" +HOMEPAGE = "https://www.khronos.org/registry/spir-v" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d" + +SRCREV = "1c6bb2743599e6eb6f37b2969acc0aef812e32e3" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Headers;protocol=https;branch=main" +PE = "1" +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" +S = "${WORKDIR}/git" + +inherit cmake + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb b/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb deleted file mode 100644 index 1cccafdad0..0000000000 --- a/meta/recipes-graphics/spir/spirv-tools_1.3.268.0.bb +++ /dev/null @@ -1,47 +0,0 @@ -SUMMARY = "The SPIR-V Tools project provides an API and commands for \ -processing SPIR-V modules" -DESCRIPTION = "The project includes an assembler, binary module parser, \ -disassembler, validator, and optimizer for SPIR-V." -HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools" -SECTION = "graphics" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRCREV = "360d469b9eac54d6c6e20f609f9ec35e3a5380ad" -SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" -PE = "1" -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" -S = "${WORKDIR}/git" - -inherit cmake - -DEPENDS = "spirv-headers" - -EXTRA_OECMAKE += "\ - -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \ - -DSPIRV_TOOLS_BUILD_STATIC=OFF \ - -DBUILD_SHARED_LIBS=ON \ - -DSPIRV_SKIP_TESTS=ON \ -" - -do_install:append:class-target() { - # Properly set _IMPORT_PREFIX in INTERFACE_LINK_LIBRARIES so that dependent - # tools can find the right library - sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ - -e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/${baselib}":' -} - -# all the libraries are unversioned, so don't pack it on PN-dev -SOLIBS = ".so" -FILES_SOLIBSDEV = "" - -PACKAGES =+ "${PN}-lesspipe" -FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" -RDEPENDS:${PN}-lesspipe += "${PN} bash" - -BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb b/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb new file mode 100644 index 0000000000..05c6de1b50 --- /dev/null +++ b/meta/recipes-graphics/spir/spirv-tools_1.3.275.0.bb @@ -0,0 +1,47 @@ +SUMMARY = "The SPIR-V Tools project provides an API and commands for \ +processing SPIR-V modules" +DESCRIPTION = "The project includes an assembler, binary module parser, \ +disassembler, validator, and optimizer for SPIR-V." +HOMEPAGE = "https://github.com/KhronosGroup/SPIRV-Tools" +SECTION = "graphics" +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" + +SRCREV = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc" +SRC_URI = "git://github.com/KhronosGroup/SPIRV-Tools.git;branch=main;protocol=https" +PE = "1" +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" +S = "${WORKDIR}/git" + +inherit cmake + +DEPENDS = "spirv-headers" + +EXTRA_OECMAKE += "\ + -DSPIRV-Headers_SOURCE_DIR=${STAGING_EXECPREFIXDIR} \ + -DSPIRV_TOOLS_BUILD_STATIC=OFF \ + -DBUILD_SHARED_LIBS=ON \ + -DSPIRV_SKIP_TESTS=ON \ +" + +do_install:append:class-target() { + # Properly set _IMPORT_PREFIX in INTERFACE_LINK_LIBRARIES so that dependent + # tools can find the right library + sed -i ${D}${libdir}/cmake/SPIRV-Tools/SPIRV-ToolsTarget.cmake \ + -e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/${baselib}":' +} + +# all the libraries are unversioned, so don't pack it on PN-dev +SOLIBS = ".so" +FILES_SOLIBSDEV = "" + +PACKAGES =+ "${PN}-lesspipe" +FILES:${PN}-lesspipe = "${base_bindir}/spirv-lesspipe.sh" +RDEPENDS:${PN}-lesspipe += "${PN} bash" + +BBCLASSEXTEND = "native nativesdk" diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb deleted file mode 100644 index a1a83317da..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.268.0.bb +++ /dev/null @@ -1,28 +0,0 @@ -SUMMARY = "Vulkan Header files and API registry" -DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ -to modern GPUs with low overhead and targeting realtime graphics applications such as \ -games and interactive media. This package contains the development headers \ -for packages wanting to make use of Vulkan." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" -SECTION = "libs" - -LICENSE = "Apache-2.0 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" - -SRCREV = "7b3466a1f47a9251ac1113efbe022ff016e2f95b" - -S = "${WORKDIR}/git" - -inherit cmake - -FILES:${PN} += "${datadir}/vulkan" -RDEPENDS:${PN} += "python3-core" - -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb new file mode 100644 index 0000000000..aacec8cab1 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-headers_1.3.275.0.bb @@ -0,0 +1,28 @@ +SUMMARY = "Vulkan Header files and API registry" +DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ +to modern GPUs with low overhead and targeting realtime graphics applications such as \ +games and interactive media. This package contains the development headers \ +for packages wanting to make use of Vulkan." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" +SECTION = "libs" + +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=1bc355d8c4196f774c8b87ed1a8dd625" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=main;protocol=https" + +SRCREV = "217e93c664ec6704ec2d8c36fa116c1a4a1e2d40" + +S = "${WORKDIR}/git" + +inherit cmake + +FILES:${PN} += "${datadir}/vulkan" +RDEPENDS:${PN} += "python3-core" + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb deleted file mode 100644 index 5a5749d40c..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.268.0.bb +++ /dev/null @@ -1,43 +0,0 @@ -SUMMARY = "3D graphics and compute API common loader" -DESCRIPTION = "Vulkan is a new generation graphics and compute API \ -that provides efficient access to modern GPUs. These packages \ -provide only the common vendor-agnostic library loader, headers and \ -the vulkaninfo utility." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.268;protocol=https" -SRCREV = "f4c838e2e7358fc450f8112119bbdbb5b03e03fa" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" - -inherit cmake features_check pkgconfig - -DEPENDS += "vulkan-headers" - -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ - -DASSEMBLER_WORKS=FALSE \ - -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \ - -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \ - " - -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" - -PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" -PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" - -RRECOMMENDS:${PN} = "mesa-vulkan-drivers" - -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb new file mode 100644 index 0000000000..7caed67207 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.bb @@ -0,0 +1,43 @@ +SUMMARY = "3D graphics and compute API common loader" +DESCRIPTION = "Vulkan is a new generation graphics and compute API \ +that provides efficient access to modern GPUs. These packages \ +provide only the common vendor-agnostic library loader, headers and \ +the vulkaninfo utility." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=vulkan-sdk-1.3.275;protocol=https" +SRCREV = "00893b9a03e526aec2c5bf487521d16dfa435229" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +inherit cmake features_check pkgconfig + +DEPENDS += "vulkan-headers" + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ + -DASSEMBLER_WORKS=FALSE \ + -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \ + -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \ + " + +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" + +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +RRECOMMENDS:${PN} = "mesa-vulkan-drivers" + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools, +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb deleted file mode 100644 index 78bd9b0e04..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.268.0.bb +++ /dev/null @@ -1,37 +0,0 @@ -SUMMARY = "Vulkan Utilities and Tools" -DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https" -SRCREV = "1532001f7edae559af1988293eec90bc5e2607d5" - -S = "${WORKDIR}/git" - -inherit cmake features_check pkgconfig -ANY_OF_DISTRO_FEATURES = "x11 wayland" -REQUIRED_DISTRO_FEATURES = "vulkan" - -DEPENDS += "vulkan-headers vulkan-loader" - -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - -DBUILD_CUBE=OFF \ - -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ - " - -# must choose x11 or wayland or both -PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" - -PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" -PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" - -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools -# vulkan-validation-layers, vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb new file mode 100644 index 0000000000..f86912c903 --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-tools_1.3.275.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "Vulkan Utilities and Tools" +DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https" +SRCREV = "c86d42cf9eb620eeac377e3bff46ae342c5cd664" + +S = "${WORKDIR}/git" + +inherit cmake features_check pkgconfig +ANY_OF_DISTRO_FEATURES = "x11 wayland" +REQUIRED_DISTRO_FEATURES = "vulkan" + +DEPENDS += "vulkan-headers vulkan-loader vulkan-volk" + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DBUILD_CUBE=OFF \ + -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \ + " + +# must choose x11 or wayland or both +PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" + +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, spirv-headers, spirv-tools +# vulkan-validation-layers, vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb deleted file mode 100644 index fee4ba6cc9..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.268.0.bb +++ /dev/null @@ -1,33 +0,0 @@ -SUMMARY = "Vulkan Utility Libraries" -DESCRIPTION = "Common libraries created to share code across various \ -Vulkan repositories, solving long standing issues for Vulkan SDK \ -developers and users." -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Utility-Libraries" -SECTION = "libs" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b" - -SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https" -SRCREV = "c9ca4ac620a238a93c65d864f2eaa33954d74509" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" - -DEPENDS = "vulkan-headers" - -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - " - -inherit cmake features_check pkgconfig - -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, -# vulkan-validation-layers, spirv-headers, spirv-tools, -# vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb new file mode 100644 index 0000000000..759a03926b --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-utility-libraries_1.3.275.0.bb @@ -0,0 +1,33 @@ +SUMMARY = "Vulkan Utility Libraries" +DESCRIPTION = "Common libraries created to share code across various \ +Vulkan repositories, solving long standing issues for Vulkan SDK \ +developers and users." +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Utility-Libraries" +SECTION = "libs" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=4ca2d6799091aaa98a8520f1b793939b" + +SRC_URI = "git://github.com/KhronosGroup/Vulkan-Utility-Libraries.git;branch=main;protocol=https" +SRCREV = "4cfc176e3242b4dbdfd3f6c5680c5d8f2cb7db45" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +DEPENDS = "vulkan-headers" + +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + " + +inherit cmake features_check pkgconfig + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, +# vulkan-validation-layers, spirv-headers, spirv-tools, +# vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb deleted file mode 100644 index 6c2715b041..0000000000 --- a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.268.0.bb +++ /dev/null @@ -1,49 +0,0 @@ -SUMMARY = "Vulkan Validation layers" -DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \ -in verifying that their applications correctly use the Vulkan API" -HOMEPAGE = "https://www.khronos.org/vulkan/" -BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers" -SECTION = "libs" - -LICENSE = "Apache-2.0 & MIT" -LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" - -SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.268;protocol=https" -SRCREV = "3c64adb4e052062fc60b6580c365429fddfbcfbf" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" - -DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries" - -# BUILD_TESTS - Not required for OE builds -# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms. -# Yocto project doesn't contain a recipe for package so disabled it. -EXTRA_OECMAKE = "\ - -DBUILD_TESTS=OFF \ - -DUSE_ROBIN_HOOD_HASHING=OFF \ - -DGLSLANG_INSTALL_DIR=${STAGING_LIBDIR} \ - -DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \ - -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \ - " - -PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" -PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" - -PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" - -inherit cmake features_check pkgconfig - -FILES:${PN} += "${datadir}/vulkan" - -SOLIBS = ".so" -FILES_SOLIBSDEV = "" - -# These recipes need to be updated in lockstep with each other: -# glslang, vulkan-headers, vulkan-loader, vulkan-tools, -# vulkan-validation-layers, spirv-headers, spirv-tools, -# vulkan-utility-libraries. -# The tags versions should always be sdk-x.y.z, as this is what -# upstream considers a release. -UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb new file mode 100644 index 0000000000..239589108d --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-validation-layers_1.3.275.0.bb @@ -0,0 +1,49 @@ +SUMMARY = "Vulkan Validation layers" +DESCRIPTION = "Khronos official Vulkan validation layers to assist developers \ +in verifying that their applications correctly use the Vulkan API" +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers" +SECTION = "libs" + +LICENSE = "Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f" + +SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=vulkan-sdk-1.3.275;protocol=https" +SRCREV = "780c65337e111c7385109c7b720d757a778e4fe2" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang vulkan-utility-libraries" + +# BUILD_TESTS - Not required for OE builds +# USE_ROBIN_HOOD_HASHING - Provides substantial performance improvements on all platforms. +# Yocto project doesn't contain a recipe for package so disabled it. +EXTRA_OECMAKE = "\ + -DBUILD_TESTS=OFF \ + -DUSE_ROBIN_HOOD_HASHING=OFF \ + -DGLSLANG_INSTALL_DIR=${STAGING_LIBDIR} \ + -DVULKAN_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \ + -DSPIRV_HEADERS_INSTALL_DIR=${STAGING_EXECPREFIXDIR} \ + " + +PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr" +PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" + +PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}" + +inherit cmake features_check pkgconfig + +FILES:${PN} += "${datadir}/vulkan" + +SOLIBS = ".so" +FILES_SOLIBSDEV = "" + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, +# vulkan-validation-layers, spirv-headers, spirv-tools, +# vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" diff --git a/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb new file mode 100644 index 0000000000..f4e6e89aac --- /dev/null +++ b/meta/recipes-graphics/vulkan/vulkan-volk_1.3.275.0.bb @@ -0,0 +1,37 @@ +SUMMARY = "A meta-loader for Vulkan" +DESCRIPTION = "Volk allows one to dynamically load entrypoints required \ +to use Vulkan without linking to vulkan-1.dll or statically linking Vulkan loader. \ +" +HOMEPAGE = "https://www.khronos.org/vulkan/" +BUGTRACKER = "https://github.com/zeux/volk" +SECTION = "libs" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b2dd098d35668a801190a9d9d47461b0" + +SRC_URI = "git://github.com/zeux/volk.git;branch=master;protocol=https" +SRCREV = "f2a16e3e19c2349b873343b2dc38a1d4c25af23a" + +S = "${WORKDIR}/git" + +REQUIRED_DISTRO_FEATURES = "vulkan" + +DEPENDS = "vulkan-headers" + +EXTRA_OECMAKE = "\ + -DVOLK_INSTALL=ON \ + " + +inherit cmake features_check pkgconfig + +# These recipes need to be updated in lockstep with each other: +# glslang, vulkan-headers, vulkan-loader, vulkan-tools, +# vulkan-validation-layers, spirv-headers, spirv-tools, +# vulkan-utility-libraries. +# The tags versions should always be sdk-x.y.z, as this is what +# upstream considers a release. +UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P\d+(\.\d+)+)" + +do_install:append() { + sed -i -e 's,${STAGING_DIR_TARGET},,g' ${D}${libdir}/cmake/volk/volkTargets.cmake +} -- cgit v1.2.3-54-g00ecf