diff options
| author | Otavio Salvador <otavio@ossystems.com.br> | 2022-10-11 19:00:50 -0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-10-11 19:00:50 -0300 |
| commit | 7d7d4a46e64f9c4fa4f257ac0f670e23ba746520 (patch) | |
| tree | f05973db4c35878bc28b4303eca907fec3793559 | |
| parent | 1cd3a109c723f755203c9967144b2d352096987c (diff) | |
| parent | 10318d49308ddb09a1f35ce33134d8cf76870ae3 (diff) | |
| download | meta-freescale-7d7d4a46e64f9c4fa4f257ac0f670e23ba746520.tar.gz | |
Merge pull request #1252 from thochstein/vulkan
Fixes for i.MX Vulkan support
| -rw-r--r-- | conf/machine/include/imx-base.inc | 9 | ||||
| -rw-r--r-- | recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb | 22 | ||||
| -rw-r--r-- | recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb | 41 | ||||
| -rw-r--r-- | recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb | 32 | ||||
| -rw-r--r-- | recipes-graphics/imx-gpu-viv/imx-gpu-viv-6.inc | 15 | ||||
| -rw-r--r-- | recipes-graphics/imx-gpu-viv/imx-gpu-viv/imx_icd.json | 7 | ||||
| -rw-r--r-- | recipes-graphics/vulkan/vulkan-loader_%.bbappend | 3 | ||||
| -rw-r--r-- | recipes-graphics/vulkan/vulkan-loader_1.2.182.0.bbappend | 6 |
8 files changed, 129 insertions, 6 deletions
diff --git a/conf/machine/include/imx-base.inc b/conf/machine/include/imx-base.inc index a0d6be138..e9b751e09 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 | " |
| 309 | MACHINE_SOCARCH_FILTER:append:imxvulkan = " \ | ||
| 310 | vulkan-headers \ | ||
| 311 | vulkan-loader \ | ||
| 312 | vulkan-tools \ | ||
| 313 | " | ||
| 309 | MACHINE_SOCARCH_FILTER:append:imxgpu = " \ | 314 | MACHINE_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" | |||
| 480 | PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.109.imx" | 485 | PREFERRED_VERSION_libdrm:mx7-nxp-bsp ??= "2.4.109.imx" |
| 481 | PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.109.imx" | 486 | PREFERRED_VERSION_libdrm:mx8-nxp-bsp ??= "2.4.109.imx" |
| 482 | 487 | ||
| 488 | PREFERRED_VERSION_vulkan-headers:imxvulkan ??= "1.2.182.0" | ||
| 489 | PREFERRED_VERSION_vulkan-loader:imxvulkan ??= "1.2.182.0" | ||
| 490 | PREFERRED_VERSION_vulkan-tools:imxvulkan ??= "1.2.182.0" | ||
| 491 | |||
| 483 | # Use i.MX optee Version | 492 | # Use i.MX optee Version |
| 484 | PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.17.0.imx" | 493 | PREFERRED_VERSION_optee-os:mx8-nxp-bsp ??= "3.17.0.imx" |
| 485 | PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.17.0.imx" | 494 | PREFERRED_VERSION_optee-client:mx8-nxp-bsp ??= "3.17.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 000000000..7c7d3e393 --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-headers_1.2.182.0.bb | |||
| @@ -0,0 +1,22 @@ | |||
| 1 | SUMMARY = "Vulkan Header files and API registry" | ||
| 2 | DESCRIPTION = "Vulkan is a 3D graphics and compute API providing cross-platform access \ | ||
| 3 | to modern GPUs with low overhead and targeting realtime graphics applications such as \ | ||
| 4 | games and interactive media. This package contains the development headers \ | ||
| 5 | for packages wanting to make use of Vulkan." | ||
| 6 | HOMEPAGE = "https://www.khronos.org/vulkan/" | ||
| 7 | BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Headers" | ||
| 8 | SECTION = "libs" | ||
| 9 | |||
| 10 | LICENSE = "Apache-2.0" | ||
| 11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
| 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Headers.git;branch=master;protocol=https" | ||
| 13 | |||
| 14 | SRCREV = "37164a5726f7e6113810f9557903a117498421cf" | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | inherit cmake | ||
| 19 | |||
| 20 | FILES:${PN} += "${datadir}/vulkan" | ||
| 21 | |||
| 22 | UPSTREAM_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 000000000..e7b382228 --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-loader_1.2.182.0.bb | |||
| @@ -0,0 +1,41 @@ | |||
| 1 | SUMMARY = "3D graphics and compute API common loader" | ||
| 2 | DESCRIPTION = "Vulkan is a new generation graphics and compute API \ | ||
| 3 | that provides efficient access to modern GPUs. These packages \ | ||
| 4 | provide only the common vendor-agnostic library loader, headers and \ | ||
| 5 | the vulkaninfo utility." | ||
| 6 | HOMEPAGE = "https://www.khronos.org/vulkan/" | ||
| 7 | BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Loader" | ||
| 8 | SECTION = "libs" | ||
| 9 | |||
| 10 | LICENSE = "Apache-2.0" | ||
| 11 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7dbefed23242760aa3475ee42801c5ac" | ||
| 12 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Loader.git;protocol=https;branch=master \ | ||
| 13 | " | ||
| 14 | SRCREV = "1896143df69d439b0933c1bb485f5a4587bdf2dc" | ||
| 15 | |||
| 16 | S = "${WORKDIR}/git" | ||
| 17 | |||
| 18 | REQUIRED_DISTRO_FEATURES = "vulkan" | ||
| 19 | |||
| 20 | inherit cmake features_check pkgconfig | ||
| 21 | ANY_OF_DISTRO_FEATURES = "x11 wayland" | ||
| 22 | |||
| 23 | DEPENDS += "vulkan-headers" | ||
| 24 | |||
| 25 | EXTRA_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 | ||
| 34 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" | ||
| 35 | |||
| 36 | 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" | ||
| 37 | PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" | ||
| 38 | |||
| 39 | RRECOMMENDS:${PN} = "mesa-vulkan-drivers" | ||
| 40 | |||
| 41 | UPSTREAM_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 000000000..242b8973f --- /dev/null +++ b/recipes-downgrade/vulkan/vulkan-tools_1.2.182.0.bb | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | SUMMARY = "Vulkan Utilities and Tools" | ||
| 2 | DESCRIPTION = "Assist development by enabling developers to verify their applications correct use of the Vulkan API." | ||
| 3 | HOMEPAGE = "https://www.khronos.org/vulkan/" | ||
| 4 | BUGTRACKER = "https://github.com/KhronosGroup/Vulkan-Tools" | ||
| 5 | SECTION = "libs" | ||
| 6 | |||
| 7 | LICENSE = "Apache-2.0" | ||
| 8 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
| 9 | SRC_URI = "git://github.com/KhronosGroup/Vulkan-Tools.git;protocol=https;branch=sdk-1.2.182" | ||
| 10 | SRCREV = "9d3305731c3be8de05c9f223a79959d448506a37" | ||
| 11 | |||
| 12 | S = "${WORKDIR}/git" | ||
| 13 | |||
| 14 | inherit cmake features_check | ||
| 15 | ANY_OF_DISTRO_FEATURES = "x11 wayland" | ||
| 16 | REQUIRED_DISTRO_FEATURES = "vulkan" | ||
| 17 | |||
| 18 | DEPENDS += "vulkan-headers vulkan-loader" | ||
| 19 | |||
| 20 | EXTRA_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 | ||
| 27 | PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}" | ||
| 28 | |||
| 29 | 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" | ||
| 30 | PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland" | ||
| 31 | |||
| 32 | UPSTREAM_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 4cbb7ba60..5c4b68cca 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 | ||
| 69 | inherit fsl-eula-unpack | 69 | inherit fsl-eula-unpack |
| 70 | 70 | ||
| 71 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true" | 71 | SRC_URI = "${FSL_MIRROR}/${BPN}-${PV}.bin;fsl-eula=true \ |
| 72 | file://imx_icd.json" | ||
| 72 | 73 | ||
| 73 | PACKAGECONFIG ?= "" | 74 | PACKAGECONFIG ?= "" |
| 74 | 75 | ||
| @@ -177,7 +178,8 @@ IMX_SOC:mx8mn-nxp-bsp = "mx8mn" | |||
| 177 | IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" | 178 | IMX_SOC:mx8ulp-nxp-bsp = "mx8ulp" |
| 178 | 179 | ||
| 179 | LIBVULKAN_VERSION_MAJOR = "1" | 180 | LIBVULKAN_VERSION_MAJOR = "1" |
| 180 | LIBVULKAN_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.1" | 181 | LIBVULKAN_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.1" |
| 182 | LIBVULKAN_API_VERSION = "${LIBVULKAN_VERSION_MAJOR}.2.182" | ||
| 181 | 183 | ||
| 182 | do_install () { | 184 | do_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" | |||
| 342 | RDEPENDS:libgbm-imx:append = " libdrm" | 348 | RDEPENDS:libgbm-imx:append = " libdrm" |
| 343 | INSANE_SKIP:libgbm-imx += "dev-so" | 349 | INSANE_SKIP:libgbm-imx += "dev-so" |
| 344 | 350 | ||
| 345 | FILES:libvulkan-imx = "${libdir}/libvulkan_VSI${REALSOLIBS} ${libdir}/libSPIRV_viv${SOLIBS}" | 351 | FILES:libvulkan-imx = "\ |
| 352 | ${libdir}/libvulkan_VSI${REALSOLIBS} \ | ||
| 353 | ${libdir}/libSPIRV_viv${SOLIBS} \ | ||
| 354 | ${sysconfdir}/vulkan" | ||
| 346 | FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" | 355 | FILES:libvulkan-imx-dev = "${includedir}/vulkan ${libdir}/libvulkan_VSI${SOLIBSDEV}" |
| 347 | 356 | ||
| 348 | FILES:libopenvx-imx = " \ | 357 | FILES: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 000000000..1194a0fb5 --- /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 722896ff7..000000000 --- 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. | ||
| 3 | RRECOMMENDS:${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 000000000..857b0e014 --- /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 | ||
| 2 | SOLIBS = ".so*" | ||
| 3 | SOLIBSDEV = "" | ||
| 4 | |||
| 5 | # Override default mesa drivers with i.MX GPU drivers | ||
| 6 | RRECOMMENDS:${PN}:imxvulkan = "libvulkan-imx" | ||
