Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade graphics to LF6.6.3-1.0.0 #1803

Merged
merged 13 commits into from
Apr 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
31 changes: 16 additions & 15 deletions conf/machine/include/imx-base.inc
Original file line number Diff line number Diff line change
Expand Up @@ -555,7 +555,8 @@ PREFERRED_PROVIDER_virtual/libgles1 ?= "mesa"
PREFERRED_PROVIDER_virtual/libgles2 ?= "mesa"

PREFERRED_PROVIDER_virtual/egl:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgl:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgl:imxgpu ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/mesa:imxgpu ?= "mesa-gl"
PREFERRED_PROVIDER_virtual/libgles1:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgles2:imxgpu3d ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/libgles3:imxgpu3d ?= "imx-gpu-viv"
Expand All @@ -567,10 +568,10 @@ PREFERRED_PROVIDER_opencl-headers:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_opencl-icd-loader:imxgpu ?= "imx-gpu-viv"
PREFERRED_PROVIDER_virtual/opencl-icd:imxgpu ?= "imx-gpu-viv"

PREFERRED_VERSION_weston:imx-nxp-bsp ??= "11.0.3.imx"
PREFERRED_VERSION_weston:imx-nxp-bsp ??= "12.0.3.imx"
# i.MX 6 & 7 stay on weston 10.0 for fbdev
PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.4.imx"
PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.4.imx"
PREFERRED_VERSION_weston:mx6-nxp-bsp ??= "10.0.5.imx"
PREFERRED_VERSION_weston:mx7-nxp-bsp ??= "10.0.5.imx"
PREFERRED_VERSION_weston:imx-mainline-bsp = ""

PREFERRED_VERSION_wayland-protocols:mx6-nxp-bsp ??= "1.32.imx"
Expand All @@ -581,17 +582,17 @@ PREFERRED_VERSION_wayland-protocols:mx9-nxp-bsp ??= "1.32.imx"
PREFERRED_VERSION_xwayland:imx-nxp-bsp ??= "23.1.1.imx"

# Use i.MX libdrm Version
PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.115.imx"
PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.115.imx"
PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.115.imx"
PREFERRED_VERSION_libdrm:mx9-nxp-bsp ??= "2.4.115.imx"

PREFERRED_VERSION_spirv-headers:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_spirv-tools:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_vulkan-validation-layers:imxvulkan ??= "1.3.239.0.imx"
PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.116.imx"
PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.116.imx"
PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.116.imx"
PREFERRED_VERSION_libdrm:mx9-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"

# Use i.MX optee Version
PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "4.0.0.imx"
Expand Down
1 change: 0 additions & 1 deletion recipes-bsp/imx-vpu/imx-vpu_5.4.39.3.bb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=228c72f2a91452b8a03c4cab30f30ef9"

PROVIDES = "virtual/imxvpu"
RPROVIDES:${PN} = "virtual/imxvpu"

PE = "1"

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,16 @@
SUMMARY = "Machine-readable files for the SPIR-V Registry"
DESCRIPTION = "Headers are provided in the include directory, with up-to-date \
headers in the unified1 subdirectory. Older headers are provided according to \
their version."
SECTION = "graphics"
HOMEPAGE = "https://www.khronos.org/registry/spir-v"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=c938b85bceb8fb26c1a807f28a52ae2d"

SRCREV = "d13b52222c39a7e9a401b44646f0ca3a640fbd47"
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<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,17 @@ SECTION = "graphics"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"

SRCREV = "63de608daeb7e91fbea6d7477a50debe7cac57ce"
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<pver>\d+(\.\d+)+)"
S = "${WORKDIR}/git"

inherit cmake python3native
inherit cmake

DEPENDS = "spirv-headers"

Expand All @@ -28,7 +32,7 @@ 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\}/lib":'
-e 's:INTERFACE_LINK_LIBRARIES.*$:INTERFACE_LINK_LIBRARIES "\$\{_IMPORT_PREFIX\}/${baselib}":'
}

# all the libraries are unversioned, so don't pack it on PN-dev
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,11 @@ HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
SECTION = "libs"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
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 = "2bb0a23104ceffd9a28d5b7401f2cee7dae35bb8"
SRCREV = "85c2334e92e215cce34e8e0ed8b2dce4700f4a50"

S = "${WORKDIR}/git"

Expand All @@ -20,4 +20,8 @@ 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<pver>\d+(\.\d+)+)"
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ SECTION = "libs"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=sdk-1.3.239;protocol=https"
SRCREV = "fa421a02686e7f01c8e4af24650fa04374df8338"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;branch=main;protocol=https"
SRCREV = "afdd025ead2b63b2c73d900ab128a2d3b512cdf0"

S = "${WORKDIR}/git"

Expand All @@ -35,4 +35,8 @@ PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SU

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<pver>\d+(\.\d+)+)"
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ SECTION = "libs"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=sdk-1.3.239;protocol=https"
SRCREV = "84c61c463aecdda385de33b0149c7368119c23f6"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;branch=main;protocol=https"
SRCREV = "a7da7027ca9fd0901639f02619c226da9c6036f1"

S = "${WORKDIR}/git"

Expand All @@ -29,4 +29,8 @@ 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<pver>\d+(\.\d+)+)"
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ HOMEPAGE = "https://www.khronos.org/vulkan/"
BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-ValidationLayers"
SECTION = "libs"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8df9e8826734226d08cb412babfa599c"
LICENSE = "Apache-2.0 & MIT"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=cd3c0bc366cd9b6a906e22f0bcb5910f"

SRC_URI = "git://[email protected]/KhronosGroup/Vulkan-ValidationLayers.git;branch=main;protocol=https"
SRCREV = "60e58bc683807fa396b1287deace8b45cfd957a3"
SRC_URI = "git://[email protected]/KhronosGroup/Vulkan-ValidationLayers.git;branch=sdk-1.3.261;protocol=https"
SRCREV = "628cd310bef6d54b4e6b25b5ac2ed013473409d6"

S = "${WORKDIR}/git"

Expand All @@ -18,24 +18,20 @@ REQUIRED_DISTRO_FEATURES = "vulkan"
DEPENDS = "vulkan-headers vulkan-loader spirv-headers spirv-tools glslang"

# BUILD_TESTS - Not required for OE builds
# BUILD_WERROR - There are too many compiler warnings/errors due to upgrades in version
# of clang. Requiring a number of patches from upstream. Disable compiler
# -Werror to bypass build issues.
# 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 \
-DBUILD_WERROR=OFF \
-DUSE_ROBIN_HOOD_HASHING=OFF \
-DGLSLANG_INSTALL_DIR=${STAGING_DATADIR} \
-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)}"
PACKAGECONFIG ?= "${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)}"

inherit cmake features_check pkgconfig

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ DEPENDS = "libpthread-stubs"

SRC_URI = "${IMX_LIBDRM_SRC};branch=${SRCBRANCH}"
IMX_LIBDRM_SRC ?= "git://github.com/nxp-imx/libdrm-imx.git;protocol=https"
SRCBRANCH ?= "libdrm-imx-2.4.115"
SRCREV = "0f889a1f9640f6210132dd565141eb19005245fb"
SRCBRANCH = "libdrm-imx-2.4.116"
SRCREV = "2f1797674f94572ae8c365c8cbffb0263337ed57"

S = "${WORKDIR}/git"

Expand Down Expand Up @@ -45,7 +45,7 @@ PACKAGECONFIG[manpages] = "-Dman-pages=enabled,-Dman-pages=disabled,libxslt-nati

ALLOW_EMPTY:${PN}-drivers = "1"
PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-radeon ${PN}-nouveau ${PN}-omap \
${PN}-intel ${PN}-exynos ${PN}-kms ${PN}-freedreno ${PN}-amdgpu \
${PN}-intel ${PN}-exynos ${PN}-freedreno ${PN}-amdgpu \
${PN}-etnaviv"

RRECOMMENDS:${PN}-drivers = "${PN}-radeon ${PN}-nouveau ${PN}-omap ${PN}-intel \
Expand All @@ -58,7 +58,6 @@ FILES:${PN}-nouveau = "${libdir}/libdrm_nouveau.so.*"
FILES:${PN}-omap = "${libdir}/libdrm_omap.so.*"
FILES:${PN}-intel = "${libdir}/libdrm_intel.so.*"
FILES:${PN}-exynos = "${libdir}/libdrm_exynos.so.*"
FILES:${PN}-kms = "${libdir}/libkms*.so.*"
FILES:${PN}-freedreno = "${libdir}/libdrm_freedreno.so.*"
FILES:${PN}-amdgpu = "${libdir}/libdrm_amdgpu.so.* ${datadir}/${PN}/amdgpu.ids"
FILES:${PN}-etnaviv = "${libdir}/libdrm_etnaviv.so.*"
Expand Down
38 changes: 0 additions & 38 deletions recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.10.bb

This file was deleted.

45 changes: 45 additions & 0 deletions recipes-graphics/imx-g2d/imx-dpu-g2d_2.1.12.bb
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
# Copyright (C) 2016 Freescale Semiconductor
# Copyright 2017-2024 NXP
# Released under the MIT license (see COPYING.MIT for the terms)

DESCRIPTION = "G2D library using i.MX DPU"
LICENSE = "Proprietary"
LIC_FILES_CHKSUM = "file://COPYING;md5=44a8052c384584ba09077e85a3d1654f"

DEPENDS = "libdrm ${LIBGAL_IMX}"
LIBGAL_IMX = "libgal-imx"
LIBGAL_IMX:mx95-nxp-bsp = ""

PROVIDES += "virtual/libg2d"

SRC_URI = "${FSL_MIRROR}/${IMX_BIN_NAME}.bin;fsl-eula=true;name=${IMX_SRC_URI_NAME}"
IMX_BIN_NAME = "${BPN}-${IMX_SRC_URI_NAME}-${PV}-${IMX_SRCREV_ABBREV}"

IMX_SRCREV_ABBREV = "ee47ef7"
IMX_SRC_URI_NAME = "v1"
SRC_URI[v1.md5sum] = "4150f09e27178101fdccb792b7cbc526"
SRC_URI[v1.sha256sum] = "bd7849376564f7e2eb55210f156afae00b49451de6de80cfbc5fbda15be6a2b0"

IMX_SRCREV_ABBREV:mx95-nxp-bsp = "ee47ef7"
IMX_SRC_URI_NAME:mx95-nxp-bsp = "v2"
SRC_URI[v2.md5sum] = "031396e175c432eb6c84aad8e0a6fc7d"
SRC_URI[v2.sha256sum] = "0646d8cc8e53f22fc15a61f0b78cd5f73460520f91949bc1d29c10ecbf77307b"

S = "${WORKDIR}/${IMX_BIN_NAME}"

inherit fsl-eula-unpack

do_install () {
install -d ${D}${libdir}
install -d ${D}${includedir}
cp -d ${S}/g2d/usr/lib/*.so* ${D}${libdir}
cp -Pr ${S}/g2d/usr/include/* ${D}${includedir}
}

# The packaged binaries have been stripped of debug info, so disable
# operations accordingly.
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
INHIBIT_PACKAGE_STRIP = "1"
INHIBIT_SYSROOT_STRIP = "1"

COMPATIBLE_MACHINE = "(imxdpu)"
22 changes: 15 additions & 7 deletions recipes-graphics/imx-g2d/imx-g2d-samples_git.bb
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ PV = "2.1+git${SRCPV}"

SRC_URI = "${GPU_G2D_SAMPLES_SRC};branch=${SRCBRANCH}"
GPU_G2D_SAMPLES_SRC ?= "git://github.com/nxp-imx/g2d-samples.git;protocol=https"
SRCBRANCH ?= "imx_2.1"
SRCREV = "4391dcda499870418bb38fe395c3cba0664c5bab"
SRCBRANCH = "imx_2.1"
SRCREV = "bec2f3839737b0e83b68b1c976373d9a78e5762f"

S = "${WORKDIR}/git"

Expand All @@ -19,6 +19,7 @@ inherit pkgconfig
PACKAGECONFIG ??= "${PACKAGECONFIG_IMPLEMENTATION}"
PACKAGECONFIG_IMPLEMENTATION = ""
PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxdpu = "dpu"
PACKAGECONFIG_IMPLEMENTATION:mx95-nxp-bsp = "dpu95"
PACKAGECONFIG_IMPLEMENTATION:imxgpu2d = "gpu-drm"
PACKAGECONFIG_IMPLEMENTATION:imxgpu2d:imxfbdev = "gpu-fbdev"
PACKAGECONFIG_IMPLEMENTATION:mx93-nxp-bsp = "pxp"
Expand All @@ -29,28 +30,35 @@ PACKAGECONFIG[dpu] = " \
imx-dpu-g2d wayland-native wayland wayland-protocols, \
, \
, \
gpu-drm gpu-fbdev pxp"
dpu95 gpu-drm gpu-fbdev pxp"
PACKAGECONFIG[dpu95] = " \
BUILD_IMPLEMENTATION=dpu95, \
, \
imx-dpu-g2d wayland-native wayland wayland-protocols, \
, \
, \
dpu gpu-drm gpu-fbdev pxp"
PACKAGECONFIG[gpu-drm] = " \
BUILD_IMPLEMENTATION=gpu-drm, \
, \
imx-gpu-g2d wayland-native wayland wayland-protocols, \
, \
, \
dpu gpu-fbdev pxp"
dpu dpu95 gpu-fbdev pxp"
PACKAGECONFIG[gpu-fbdev] = " \
BUILD_IMPLEMENTATION=gpu-fbdev, \
, \
imx-gpu-g2d, \
, \
, \
dpu gpu-drm pxp"
dpu dpu95 gpu-drm pxp"
PACKAGECONFIG[pxp] = " \
BUILD_IMPLEMENTATION=pxp, \
, \
imx-pxp-g2d wayland-native wayland wayland-protocols, \
, \
, \
dpu gpu-drm gpu-fbdev"
dpu dpu95 gpu-drm gpu-fbdev"

EXTRA_OEMAKE += " \
SDKTARGETSYSROOT=${STAGING_DIR_HOST} \
Expand All @@ -65,4 +73,4 @@ FILES:${PN} += "/opt"

PACKAGE_ARCH = "${MACHINE_SOCARCH}"

COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp)"
COMPATIBLE_MACHINE = "(imxgpu2d|mx93-nxp-bsp|mx95-nxp-bsp)"
Loading
Loading