Skip to content

Commit

Permalink
imx-gpu-sdk: Upgrade to 6.1.0
Browse files Browse the repository at this point in the history
Also add required recipes for new dependencies.

As per NXP langdale-6.1.1-1.0.0 release.

Signed-off-by: Chris Dimich <chris.dimich@boundarydevices.com>
  • Loading branch information
chrisdimich committed May 25, 2023
1 parent 48d772f commit 56104cf
Show file tree
Hide file tree
Showing 6 changed files with 126 additions and 20 deletions.
4 changes: 4 additions & 0 deletions recipes-graphics/imx-gpu-sdk/imx-gpu-sdk-src.inc
@@ -0,0 +1,4 @@
SRC_URI = "${GPU_SDK_SRC};branch=${GPU_SDK_SRC_BRANCH}"
GPU_SDK_SRC ?= "git://github.com/nxp-imx/gtec-demo-framework.git;protocol=https"
GPU_SDK_SRC_BRANCH ?= "master"
SRCREV = "ed8a6ac85234b0aaa28ce0035286293240a5e02c"
Expand Up @@ -4,9 +4,9 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://License.md;md5=9d58a2573275ce8c35d79576835dbeb8"

DEPENDS_BACKEND = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', ' xrandr', \
'', d), d)}"
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' libxdg-shell wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', ' xrandr', \
'', d), d)}"
DEPENDS_MX8 = ""
DEPENDS_MX8:mx8-nxp-bsp = " \
glslang-native \
Expand Down Expand Up @@ -42,38 +42,37 @@ DEPENDS = " \
DEPENDS:append:imxgpu2d = " virtual/libg2d virtual/libopenvg"
DEPENDS:append:imxgpu3d = " virtual/libgles2"

SRC_URI = "git://github.com/nxpmicro/gtec-demo-framework.git;protocol=https;branch=master"
SRCREV = "2c77d1ed4e9ae477b32ebb22c5dfb8e5cb530a8e"
require imx-gpu-sdk-src.inc

S = "${WORKDIR}/git"

BACKEND = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'Wayland', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'X11', \
'FB', d), d)}"
WINDOW_SYSTEM = \
"${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'Wayland_XDG', \
bb.utils.contains('DISTRO_FEATURES', 'x11', 'X11', \
'FB', d), d)}"

FEATURES = "EarlyAccess,EGL,GoogleUnitTest,Lib_NlohmannJson,OpenVG"
FEATURES:append:imxgpu2d = ",G2D"
FEATURES:append:imxgpu3d = ",OpenGLES2"
FEATURES:append = "${FEATURES_SOC}"

FEATURES_SOC = ""
FEATURES_SOC:mx6q-nxp-bsp = ",OpenGLES3"
FEATURES_SOC:mx6dl-nxp-bsp = ",OpenGLES3"
FEATURES_SOC:mx8-nxp-bsp = ",OpenCV4,Vulkan1.2,OpenGLES3.2,OpenCL1.2,OpenVX1.1"
FEATURES_SOC:mx8mm-nxp-bsp = ",OpenCV4"
FEATURES_SOC = ""
FEATURES_SOC:mx6q-nxp-bsp = ",OpenGLES3"
FEATURES_SOC:mx6dl-nxp-bsp = ",OpenGLES3"
FEATURES_SOC:mx8-nxp-bsp = ",OpenCV4,Vulkan1.2,OpenGLES3.2,OpenCL1.2,OpenVX1.2"
FEATURES_SOC:mx8mm-nxp-bsp = ",OpenCV4"

EXTENSIONS = "*"
EXTENSIONS:mx6q-nxp-bsp = "OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
EXTENSIONS:mx6dl-nxp-bsp = "OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
EXTENSIONS:mx8m-nxp-bsp = "OpenGLES3:GL_EXT_color_buffer_float"
EXTENSIONS = "*"
EXTENSIONS:mx6q-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
EXTENSIONS:mx6dl-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
EXTENSIONS:mx8m-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_color_buffer_float"
EXTENSIONS:mx8mm-nxp-bsp = "*"

do_compile () {
export FSL_PLATFORM_NAME=Yocto
export ROOTFS=${STAGING_DIR_HOST}
. ./prepare.sh
FslBuild.py -vvvvv -t sdk --UseFeatures [${FEATURES}] --UseExtensions [${EXTENSIONS}] --Variants [WindowSystem=${BACKEND}] --BuildThreads ${@oe.utils.parallel_make(d)} -c install --CMakeInstallPrefix ${S}
FslBuild.py -vvvvv -t sdk --UseFeatures [${FEATURES}] --UseExtensions [${EXTENSIONS}] --Variants [WindowSystem=${WINDOW_SYSTEM}] --BuildThreads ${@oe.utils.parallel_make(d)} -c install --CMakeInstallPrefix ${S}
}

REMOVALS = " \
Expand Down Expand Up @@ -115,11 +114,13 @@ RDEPENDS_EMPTY_MAIN_PACKAGE = " \
glm \
googletest \
half \
nlohmann-json \
rapidjson \
stb \
"
RDEPENDS_EMPTY_MAIN_PACKAGE_MX8 = ""
RDEPENDS_EMPTY_MAIN_PACKAGE_MX8:mx8-nxp-bsp = " \
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libxdg-shell', '', d)} \
rapidopencl \
rapidopenvx \
rapidvulkan \
Expand All @@ -128,7 +129,7 @@ RDEPENDS_EMPTY_MAIN_PACKAGE_MX8:mx8mm-nxp-bsp = ""
# vulkan-loader is dynamically loaded, so need to add an explicit
# dependency
RDEPENDS_VULKAN_LOADER = ""
RDEPENDS_VULKAN_LOADER:mx8-nxp-bsp = "vulkan-loader"
RDEPENDS_VULKAN_LOADER:mx8-nxp-bsp = "vulkan-validationlayers vulkan-loader"
RDEPENDS_VULKAN_LOADER:mx8mm-nxp-bsp = ""
RDEPENDS:${PN} += " \
${RDEPENDS_EMPTY_MAIN_PACKAGE} \
Expand Down
19 changes: 19 additions & 0 deletions recipes-graphics/imx-gpu-sdk/libxdg-shell.bb
@@ -0,0 +1,19 @@
SUMMARY = "Provides XDG shell header and glue code library"
LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://${WORKDIR}/git/License.md;md5=9d58a2573275ce8c35d79576835dbeb8"

DEPENDS = "wayland-native wayland wayland-protocols"

require imx-gpu-sdk-src.inc

S = "${WORKDIR}/git/ThirdParty/Recipe/xdg-shell"

inherit cmake pkgconfig

EXTRA_OECMAKE = " \
-DWAYLAND_SCANNER=${STAGING_BINDIR_NATIVE}/wayland-scanner \
-DWAYLAND_PROTOCOLS_DIR=${STAGING_DATADIR}/wayland-protocols \
"

ALLOW_EMPTY:${PN} = "1"
RDEPENDS:${PN}-dev = "${PN}-staticdev"
@@ -0,0 +1,36 @@
From 1f2837e05ed090ec553a3fc4fccee5618cf26d12 Mon Sep 17 00:00:00 2001
From: Neena Busireddy <neenareddy.busireddy@nxp.com>
Date: Thu, 8 Aug 2019 11:27:01 -0500
Subject: [PATCH] CMakeLists.txt: Change the installation path of JSON files

Also modify the library path in JSON files to /usr/lib/libVK*.so

Upstream-Status: Inappropriate [configuration]

Signed-off-by: Neena Busireddy <neenareddy.busireddy@nxp.com>
---
layers/CMakeLists.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

Index: git/layers/CMakeLists.txt
===================================================================
--- git.orig/layers/CMakeLists.txt
+++ git/layers/CMakeLists.txt
@@ -337,7 +337,7 @@ if(BUILD_LAYERS)
-DVK_VERSION=1.2.${vk_header_version})
# If this json file is not a metalayer, get the needed properties from that target
if(TARGET ${TARGET_NAME})
- set(INSTALL_DEFINES ${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY="$<TARGET_FILE_NAME:${TARGET_NAME}>")
+ set(INSTALL_DEFINES ${INSTALL_DEFINES} -DRELATIVE_LAYER_BINARY="${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}/$<TARGET_FILE_NAME:${TARGET_NAME}>")
endif()
add_custom_target(${TARGET_NAME}-staging-json ALL
COMMAND ${CMAKE_COMMAND} ${INSTALL_DEFINES} -P "${CMAKE_CURRENT_BINARY_DIR}/generator.cmake")
@@ -351,7 +351,7 @@ if(BUILD_LAYERS)
DESTINATION ${CMAKE_INSTALL_LIBDIR})
elseif(UNIX)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/staging-json/${TARGET_NAME}.json
- DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/vulkan/explicit_layer.d)
+ DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/vulkan/explicit_layer.d)
endif()
endforeach()
endif()
@@ -0,0 +1,43 @@
SUMMARY = "Vulkan ValidationLayers"
DESCRIPTION = "This project provides Vulkan validation layers that \
can be enabled to 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-ValidationLayers"
SECTION = "libs"

LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=8df9e8826734226d08cb412babfa599c"
SRC_URI = "git://github.com/KhronosGroup/Vulkan-ValidationLayers.git;protocol=https;branch=sdk-1.2.182"

SRCREV = "91fcffa8eca1a9573c8d736a54a028035ed4e06c"

S = "${WORKDIR}/git"

REQUIRED_DISTRO_FEATURES = "vulkan"

inherit cmake features_check
ANY_OF_DISTRO_FEATURES = "x11 wayland"

DEPENDS = "vulkan-headers glslang spirv-tools spirv-headers"

EXTRA_OECMAKE = " \
-DGLSLANG_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
-DSPIRV_HEADERS_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
-DSPIRV_TOOLS_INSTALL_DIR=${STAGING_DIR_HOST}/usr \
-DUSE_ROBIN_HOOD_HASHING=OFF \
"

# 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 -DDEMOS_WSI_SELECTION=XCB, -DBUILD_WSI_XLIB_SUPPORT=OFF -DBUILD_WSI_XCB_SUPPORT=OFF -DDEMOS_WSI_SELECTION=WAYLAND, libxcb libx11 libxrandr"
PACKAGECONFIG[wayland] = "-DBUILD_WSI_WAYLAND_SUPPORT=ON, -DBUILD_WSI_WAYLAND_SUPPORT=OFF, wayland"

# The output library is unversioned
SOLIBS = ".so"
FILES_SOLIBSDEV = ""

RRECOMMENDS:${PN} = "mesa-vulkan-drivers"

UPSTREAM_CHECK_GITTAGREGEX = "sdk-(?P<pver>\d+(\.\d+)+)"
@@ -0,0 +1,3 @@
FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"

SRC_URI += "file://0001-CMakeLists.txt-Change-the-installation-path-of-JSON-.patch"

0 comments on commit 56104cf

Please sign in to comment.