From fc287f98d9590354e2d83614ad7452608d7b7c73 Mon Sep 17 00:00:00 2001 From: Valentin Jec Date: Fri, 25 Oct 2024 13:48:21 +0300 Subject: Upgrade BSP to LF6.6.36_2.1.0 spir: Update downgrade spir: 1.3.261.1.imx -> 1.3.275.0.imx vulkan: Update downgrade vulkan: 1.3.261.1.imx -> 1.3.275.0.imx vulkan-loader_1.3.261.1.imx.bbappend: Upgrade vulkan-loader: 1.3.261.1.imx -> 1.3.275.0.imx Add patch for wsi layer imx-base.inc: Update `PREFFERED_VERSION` for vulkan and spir Signed-off-by: Valentin Jec --- conf/machine/include/imx-base.inc | 12 ++--- .../spir/spirv-headers_1.3.261.1.imx.bb | 19 -------- .../spir/spirv-headers_1.3.275.0.imx.bb | 20 +++++++++ .../spir/spirv-tools_1.3.261.1.imx.bb | 46 ------------------- .../spir/spirv-tools_1.3.275.0.imx.bb | 47 +++++++++++++++++++ .../vulkan/vulkan-headers_1.3.261.1.imx.bb | 27 ----------- .../vulkan/vulkan-headers_1.3.275.0.imx.bb | 28 ++++++++++++ .../vulkan/vulkan-loader_1.3.261.1.imx.bb | 42 ----------------- .../vulkan/vulkan-loader_1.3.275.0.imx.bb | 43 ++++++++++++++++++ .../vulkan/vulkan-tools_1.3.261.1.imx.bb | 36 --------------- .../vulkan/vulkan-tools_1.3.275.0.imx.bb | 37 +++++++++++++++ .../vulkan-validation-layers_1.3.261.1.imx.bb | 48 -------------------- .../vulkan-validation-layers_1.3.275.0.imx.bb | 49 ++++++++++++++++++++ ...69-change-mali-wsi-layer-activating-order.patch | 52 ++++++++++++++++++++++ .../vulkan/vulkan-loader_1.3.261.1.imx.bbappend | 9 ---- .../vulkan/vulkan-loader_1.3.275.0.imx.bbappend | 15 +++++++ 16 files changed, 297 insertions(+), 233 deletions(-) delete mode 100644 recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb delete mode 100644 recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb delete mode 100644 recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb delete mode 100644 recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb delete mode 100644 recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb delete mode 100644 recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb create mode 100644 recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb create mode 100644 recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch delete mode 100644 recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend create mode 100644 recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index 9d06b4649..5fa502444 100644 --- a/conf/machine/include/imx-base.inc +++ b/conf/machine/include/imx-base.inc @@ -587,12 +587,12 @@ PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx" # Use i.MX libdrm Version PREFERRED_VERSION_libdrm:imx-nxp-bsp ??= "2.4.116.imx" -PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.261.1.imx" -PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.261.1.imx" -PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.261.1.imx" -PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.261.1.imx" -PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.261.1.imx" -PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.261.1.imx" +PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.275.0.imx" +PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.275.0.imx" +PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.275.0.imx" +PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.275.0.imx" +PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.275.0.imx" +PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.275.0.imx" # Use i.MX optee Version PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.2.0.imx" diff --git a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb deleted file mode 100644 index 945f0879f..000000000 --- a/recipes-downgrade/spir/spirv-headers_1.3.261.1.imx.bb +++ /dev/null @@ -1,19 +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 = "124a9665e464ef98b8b718d572d5f329311061eb" -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 -# 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/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.bb new file mode 100644 index 000000000..598a8fc20 --- /dev/null +++ b/recipes-downgrade/spir/spirv-headers_1.3.275.0.imx.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/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb b/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb deleted file mode 100644 index 690428829..000000000 --- a/recipes-downgrade/spir/spirv-tools_1.3.261.1.imx.bb +++ /dev/null @@ -1,46 +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 = "e553b884c7c9febaa4e52334f683641fb5f196a0" -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 -# 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/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.bb new file mode 100644 index 000000000..05c6de1b5 --- /dev/null +++ b/recipes-downgrade/spir/spirv-tools_1.3.275.0.imx.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/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb deleted file mode 100644 index 01eb14b9f..000000000 --- a/recipes-downgrade/vulkan/vulkan-headers_1.3.261.1.imx.bb +++ /dev/null @@ -1,27 +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 = "85c2334e92e215cce34e8e0ed8b2dce4700f4a50" - -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 -# 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/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.bb new file mode 100644 index 000000000..aacec8cab --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-headers_1.3.275.0.imx.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/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb deleted file mode 100644 index 01cbeafa3..000000000 --- a/recipes-downgrade/vulkan/vulkan-loader_1.3.261.1.imx.bb +++ /dev/null @@ -1,42 +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=main;protocol=https" -SRCREV = "afdd025ead2b63b2c73d900ab128a2d3b512cdf0" - -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 -# 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/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.bb new file mode 100644 index 000000000..7caed6720 --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-loader_1.3.275.0.imx.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/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb deleted file mode 100644 index 7a7edc9eb..000000000 --- a/recipes-downgrade/vulkan/vulkan-tools_1.3.261.1.imx.bb +++ /dev/null @@ -1,36 +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 = "a7da7027ca9fd0901639f02619c226da9c6036f1" - -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 -# 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/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.bb new file mode 100644 index 000000000..f86912c90 --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-tools_1.3.275.0.imx.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/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb deleted file mode 100644 index 1e2a0aced..000000000 --- a/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.261.1.imx.bb +++ /dev/null @@ -1,48 +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://git@github.com/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.3.261;protocol=https" -SRCREV = "628cd310bef6d54b4e6b25b5ac2ed013473409d6" - -S = "${WORKDIR}/git" - -REQUIRED_DISTRO_FEATURES = "vulkan" - -DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang" - -# 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 -# 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/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.bb new file mode 100644 index 000000000..239589108 --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-validation-layers_1.3.275.0.imx.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/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch new file mode 100644 index 000000000..da738aabe --- /dev/null +++ b/recipes-graphics/vulkan/vulkan-loader/0001-LF-11869-change-mali-wsi-layer-activating-order.patch @@ -0,0 +1,52 @@ +From 3448c245b15928aa5a5a3695d9271fb201eb2e3b Mon Sep 17 00:00:00 2001 +From: Yuan Tian +Date: Sat, 27 Apr 2024 06:06:54 +0800 +Subject: [PATCH] LF-11869 change mali wsi layer activating order + +Upstream-Status: Inappropriate [i.MX specific] + +Signed-off-by: Yuan Tian +--- + loader/loader.c | 12 ++++++++++++ + 1 file changed, 12 insertions(+) + +diff --git a/loader/loader.c b/loader/loader.c +index e646b28b4..55912c178 100644 +--- a/loader/loader.c ++++ b/loader/loader.c +@@ -2906,6 +2906,7 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s + #if !defined(_WIN32) + char temp_path[2048]; + #endif ++ bool has_wsi_layer = false; + + // Now, parse the paths + next_file = search_path; +@@ -2965,6 +2966,10 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s + name = full_path; + + VkResult local_res; ++ if(!strcmp(name,"/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json")) { ++ has_wsi_layer = true; ++ continue; ++ } + local_res = add_if_manifest_file(inst, name, out_files); + + // Incomplete means this was not a valid data file. +@@ -2975,6 +2980,13 @@ VkResult add_data_files(const struct loader_instance *inst, char *search_path, s + break; + } + } ++ ++ if(has_wsi_layer) { ++ name = "/etc/vulkan/implicit_layer.d/VkLayer_window_system_integration.json"; ++ vk_result = add_if_manifest_file(inst, name, out_files); ++ has_wsi_layer = false; ++ } ++ + loader_closedir(inst, dir_stream); + if (vk_result != VK_SUCCESS) { + goto out; +-- +2.34.1 + diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend deleted file mode 100644 index c1a9902b7..000000000 --- a/recipes-graphics/vulkan/vulkan-loader_1.3.261.1.imx.bbappend +++ /dev/null @@ -1,9 +0,0 @@ -# libvulkan.so is loaded dynamically, so put it in the main package -SOLIBS = ".so*" -FILES_SOLIBSDEV = "" -INSANE_SKIP:${PN} += "dev-so" - -# Override default mesa drivers with i.MX GPU drivers -RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx" -# Override default mesa drivers with i.MX GPU drivers -RRECOMMENDS:${PN}:mx95-nxp-bsp = "mali-imx-libvulkan" diff --git a/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend new file mode 100644 index 000000000..9b0ce3b99 --- /dev/null +++ b/recipes-graphics/vulkan/vulkan-loader_1.3.275.0.imx.bbappend @@ -0,0 +1,15 @@ +FILESEXTRAPATHS:prepend:imx-nxp-bsp := "${THISDIR}/${PN}:" + +SRC_URI:append:imx-nxp-bsp = " \ + file://0001-LF-11869-change-mali-wsi-layer-activating-order.patch \ +" + +# libvulkan.so is loaded dynamically, so put it in the main package +SOLIBS = ".so*" +FILES_SOLIBSDEV = "" +INSANE_SKIP:${PN} += "dev-so" + +# Override default mesa drivers with i.MX GPU drivers +RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx" +# Override default mesa drivers with i.MX GPU drivers +RRECOMMENDS:${PN}:mx95-nxp-bsp = "mali-imx-libvulkan" -- cgit v1.2.3-54-g00ecf