summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOtavio Salvador <otavio@ossystems.com.br>2022-10-11 19:01:29 -0300
committerGitHub <noreply@github.com>2022-10-11 19:01:29 -0300
commit285ea104aff07a1488cc706fdf7689d704bc8a7a (patch)
tree1da94223e1bc85530c9aeaf12fc26ec50a235681
parentbf58f243f888320ff19f494eda271f0f39b9e20f (diff)
parenta9caf6ba0483a9f3eb25a27212993701c27ed9f2 (diff)
downloadmeta-freescale-285ea104aff07a1488cc706fdf7689d704bc8a7a.tar.gz
Merge pull request #1258 from Freescale/backport-1252-to-kirkstone
[Backport kirkstone] Fixes for i.MX Vulkan support
-rw-r--r--conf/machine/include/imx-base.inc9
-rw-r--r--recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb22
-rw-r--r--recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb41
-rw-r--r--recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb32
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc15
-rw-r--r--recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json7
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_%.bbappend3
-rw-r--r--recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bbappend6
8 files changed, 129 insertions, 6 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc
index 9c7b6d29..80027072 100644
--- a/conf/machine/include/imx-base.inc
+++ b/conf/machine/include/imx-base.inc
@@ -306,6 +306,11 @@ MACHINE_SOCARCH_FILTER:append:imxvpu = " \
306 libimxvpuapi \ 306 libimxvpuapi \
307 virtual/imxvpu \ 307 virtual/imxvpu \
308" 308"
309MACHINE_SOCARCH_FILTER:append:imxvulkan = " \
310 vulkan-headers \
311 vulkan-loader \
312 vulkan-tools \
313"
309MACHINE_SOCARCH_FILTER:append:imxgpu = " \ 314MACHINE_SOCARCH_FILTER:append:imxgpu = " \
310 virtual/egl \ 315 virtual/egl \
311 virtual/mesa \ 316 virtual/mesa \
@@ -480,6 +485,10 @@ PREFERRED_VERSION_libdrm:mx6-nxp-bsp ??= "2.4.109.imx"
480PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.109.imx" 485PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.109.imx"
481PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.109.imx" 486PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.109.imx"
482 487
488PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.2.182.0"
489PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.2.182.0"
490PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.2.182.0"
491
483# Use i.MX optee Version 492# Use i.MX optee Version
484PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.15.0.imx" 493PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.15.0.imx"
485PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.15.0.imx" 494PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.15.0.imx"
diff --git a/recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb b/recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb
new file mode 100644
index 00000000..7c7d3e39
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb
@@ -0,0 +1,22 @@
1SUMMARY = "Vulkan Header files and API registry"
2DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \
3to modern GPUs with low overhead and targeting realtime graphics applications such as \
4games and interactive media. This package contains the development headers \
5for packages wanting to make use of Vulkan."
6HOMEPAGE = "https://www.khronos.org/vulkan/"
7BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers"
8SECTION = "libs"
9
10LICENSE = "Apache-2.0"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master;protocol=https"
13
14SRCREV = "37164a5726f7e6113810f9557903a117498421cf"
15
16S = "${WORKDIR}/git"
17
18inherit cmake
19
20FILES:${PN} += "${datadir}/vulkan"
21
22UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb b/recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb
new file mode 100644
index 00000000..e7b38222
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb
@@ -0,0 +1,41 @@
1SUMMARY = "3D graphics and compute API common loader"
2DESCRIPTION = "Vulkan is a new generation graphics and compute API \
3that provides efficient access to modern GPUs. These packages \
4provide only the common vendor-agnostic library loader, headers and \
5the vulkaninfo utility."
6HOMEPAGE = "https://www.khronos.org/vulkan/"
7BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader"
8SECTION = "libs"
9
10LICENSE = "Apache-2.0"
11LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac"
12SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;protocol=https;branch=master \
13 "
14SRCREV = "1896143df69d439b0933c1bb485f5a4587bdf2dc"
15
16S = "${WORKDIR}/git"
17
18REQUIRED_DISTRO_FEATURES = "vulkan"
19
20inherit cmake features_check pkgconfig
21ANY_OF_DISTRO_FEATURES = "x11 wayland"
22
23DEPENDS += "vulkan-headers"
24
25EXTRA_OECMAKE = "\
26 -DBUILD_TESTS=OFF \
27 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
28 -DASSEMBLER_WORKS=FALSE \
29 -DVulkanHeaders_INCLUDE_DIR=${STAGING_INCDIR} \
30 -DVulkanRegistry_DIR=${RECIPE_SYSROOT}/${datadir} \
31 "
32
33# must choose x11 or wayland or both
34PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
35
36PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
37PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
38
39RRECOMMENDS:${PN} = "mesa-vulkan-drivers"
40
41UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb b/recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb
new file mode 100644
index 00000000..242b8973
--- /dev/null
+++ b/recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb
@@ -0,0 +1,32 @@
1SUMMARY = "Vulkan Utilities and Tools"
2DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API."
3HOMEPAGE = "https://www.khronos.org/vulkan/"
4BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools"
5SECTION = "libs"
6
7LICENSE = "Apache-2.0"
8LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
9SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;protocol=https;branch=sdk-1.2.182"
10SRCREV = "9d3305731c3be8de05c9f223a79959d448506a37"
11
12S = "${WORKDIR}/git"
13
14inherit cmake features_check
15ANY_OF_DISTRO_FEATURES = "x11 wayland"
16REQUIRED_DISTRO_FEATURES = "vulkan"
17
18DEPENDS += "vulkan-headers vulkan-loader"
19
20EXTRA_OECMAKE = "\
21 -DBUILD_TESTS=OFF \
22 -DBUILD_CUBE=OFF \
23 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
24 "
25
26# must choose x11 or wayland or both
27PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
28
29PACKAGECONFIG[x11] = "-DBUILD_WSI_XLIB_SUPPORT=ON -DBUILD_WSI_XCB_SUPPORT=ON, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF, libxcb libx11 libxrandr"
30PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"
31
32UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
index 4cbb7ba6..5c4b68cc 100644
--- a/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc
@@ -68,7 +68,8 @@ PE = "1"
68 68
69inherit fsl-eula-unpack 69inherit fsl-eula-unpack
70 70
71SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" 71SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \
72 file://imx_icd.json"
72 73
73PACKAGECONFIG ?= "" 74PACKAGECONFIG ?= ""
74 75
@@ -177,7 +178,8 @@ IMX_SOC:mx8mn-nxp-bsp = "mx8mn"
177IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" 178IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp"
178 179
179LIBVULKAN_VERSION_MAJOR = "1" 180LIBVULKAN_VERSION_MAJOR = "1"
180LIBVULKAN_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.1" 181LIBVULKAN_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.1"
182LIBVULKAN_API_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.182"
181 183
182do_install () { 184do_install () {
183 install -d ${D}${libdir} 185 install -d ${D}${libdir}
@@ -271,6 +273,10 @@ do_install () {
271 set +f 273 set +f
272 rm -rf ${D}$f 274 rm -rf ${D}$f
273 done 275 done
276 else
277 install -Dm 0644 ${WORKDIR}/imx_icd.json ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
278 sed -i "s,%libdir%,${libdir}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
279 sed -i "s,%api_version%,${LIBVULKAN_API_VERSION}," ${D}${sysconfdir}/vulkan/icd.d/imx_icd.json
274 fi 280 fi
275 fi 281 fi
276 282
@@ -342,7 +348,10 @@ FILES:libgbm-imx-dev = "${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h"
342RDEPENDS:libgbm-imx:append = " libdrm" 348RDEPENDS:libgbm-imx:append = " libdrm"
343INSANE_SKIP:libgbm-imx += "dev-so" 349INSANE_SKIP:libgbm-imx += "dev-so"
344 350
345FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}" 351FILES:libvulkan-imx = "\
352 ${libdir}/libvulkan_VSI${REALSOLIBS} \
353 ${libdir}/libSPIRV_viv${SOLIBS} \
354 ${sysconfdir}/vulkan"
346FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" 355FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}"
347 356
348FILES:libopenvx-imx = " \ 357FILES:libopenvx-imx = " \
diff --git a/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
new file mode 100644
index 00000000..1194a0fb
--- /dev/null
+++ b/recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json
@@ -0,0 +1,7 @@
1{
2 "file_format_version": "1.0.0",
3 "ICD": {
4 "library_path": "%libdir%/libvulkan_VSI.so",
5 "api_version": "%api_version%"
6 }
7}
diff --git a/recipes-graphics/vulkan/vulkan-loader_%.bbappend b/recipes-graphics/vulkan/vulkan-loader_%.bbappend
deleted file mode 100644
index 722896ff..00000000
--- a/recipes-graphics/vulkan/vulkan-loader_%.bbappend
+++ /dev/null
@@ -1,3 +0,0 @@
1# The i.MX implementation is dynamically loaded, so it requires an
2# explicit runtime dependency.
3RRECOMMENDS:${PN}:append:imxvulkan = " libvulkan-imx"
diff --git a/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bbappend b/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bbappend
new file mode 100644
index 00000000..857b0e01
--- /dev/null
+++ b/recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bbappend
@@ -0,0 +1,6 @@
1# libvulkan.so is loaded dynamically, so put it in the main package
2SOLIBS = ".so*"
3SOLIBSDEV = ""
4
5# Override default mesa drivers with i.MX GPU drivers
6RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx"