summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb')
-rw-r--r--recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb145
1 files changed, 145 insertions, 0 deletions
diff --git a/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb b/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb
new file mode 100644
index 000000000..e1510baf3
--- /dev/null
+++ b/recipes-graphics/imx-gpu-sdk/imx-gpu-sdk_6.1.1.bb
@@ -0,0 +1,145 @@
1SUMMARY = "i.MX GPU SDK Samples"
2DESCRIPTION = "Set of sample applications for i.MX GPU"
3LICENSE = "BSD-3-Clause"
4LIC_FILES_CHKSUM = "file://License.md;md5=9d58a2573275ce8c35d79576835dbeb8"
5
6DEPENDS_BACKEND = \
7 "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', ' libxdg-shell wayland', \
8 bb.utils.contains('DISTRO_FEATURES', 'x11', ' xrandr', \
9 '', d), d)}"
10DEPENDS_MX8 = ""
11DEPENDS_MX8:mx8-nxp-bsp = " \
12 glslang-native \
13 opencv \
14 rapidopencl \
15 rapidopenvx \
16 rapidvulkan \
17 vulkan-headers \
18 vulkan-loader \
19"
20DEPENDS_MX8:mx8mm-nxp-bsp = " \
21 opencv \
22"
23DEPENDS = " \
24 assimp \
25 cmake-native \
26 devil \
27 fmt \
28 gli \
29 glm \
30 gstreamer1.0 \
31 gstreamer1.0-plugins-base \
32 gtest \
33 half \
34 ninja-native \
35 nlohmann-json \
36 rapidjson \
37 stb \
38 zlib \
39 ${DEPENDS_BACKEND} \
40 ${DEPENDS_MX8} \
41"
42DEPENDS:append:imxgpu2d = " virtual/libg2d virtual/libopenvg"
43DEPENDS:append:imxgpu3d = " virtual/libgles2"
44
45require imx-gpu-sdk-src.inc
46
47
48WINDOW_SYSTEM = \
49 "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'Wayland_XDG', \
50 bb.utils.contains('DISTRO_FEATURES', 'x11', 'X11', \
51 'FB', d), d)}"
52
53FEATURES = "ConsoleHost,EarlyAccess,EGL,GoogleUnitTest,Lib_NlohmannJson,OpenVG,Test_RequireUserInputToExit,WindowHost"
54FEATURES:append:imxgpu = ",HW_GPU_VIVANTE"
55FEATURES:append:imxgpu2d = ",G2D"
56FEATURES:append:imxgpu3d = ",OpenGLES2"
57FEATURES:append = "${FEATURES_SOC}"
58
59FEATURES_SOC = ""
60FEATURES_SOC:mx6q-nxp-bsp = ",OpenGLES3"
61FEATURES_SOC:mx6dl-nxp-bsp = ",OpenGLES3"
62FEATURES_SOC:mx8-nxp-bsp = ",OpenCV4,Vulkan1.2,OpenGLES3.2,OpenCL1.2,OpenVX1.2"
63FEATURES_SOC:mx8mm-nxp-bsp = ",OpenCV4"
64
65EXTENSIONS = "*"
66EXTENSIONS:mx6q-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
67EXTENSIONS:mx6dl-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_geometry_shader,OpenGLES3:GL_EXT_tessellation_shader"
68EXTENSIONS:mx8m-nxp-bsp = "OpenGLES:GL_VIV_direct_texture,OpenGLES3:GL_EXT_color_buffer_float"
69EXTENSIONS:mx8mm-nxp-bsp = "*"
70
71do_compile () {
72 export FSL_PLATFORM_NAME=Yocto
73 export ROOTFS=${STAGING_DIR_HOST}
74 . ./prepare.sh
75 FslBuild.py -vvvvv -t sdk --UseFeatures [${FEATURES}] --UseExtensions [${EXTENSIONS}] --Variants [WindowSystem=${WINDOW_SYSTEM}] --BuildThreads ${@oe.utils.parallel_make(d)} -c install --CMakeInstallPrefix ${S}
76}
77
78REMOVALS = " \
79 GLES2/DeBayer \
80 GLES2/DirectMultiSamplingVideoYUV \
81 GLES3/DirectMultiSamplingVideoYUV \
82"
83REMOVALS:append:imxdpu = " \
84 G2D/EightLayers \
85"
86REMOVALS:append:mx6q-nxp-bsp = " \
87 GLES3/HDR02_FBBasicToneMapping \
88 GLES3/HDR03_SkyboxTonemapping \
89 GLES3/HDR04_HDRFramebuffer \
90"
91REMOVALS:append:mx6dl-nxp-bsp = " \
92 GLES3/HDR02_FBBasicToneMapping \
93 GLES3/HDR03_SkyboxTonemapping \
94 GLES3/HDR04_HDRFramebuffer \
95"
96
97do_install () {
98 install -d "${D}/opt/${PN}"
99 cp -r ${S}/bin/* ${D}/opt/${PN}
100 for removal in ${REMOVALS}; do
101 rm -rf ${D}/opt/${PN}/$removal
102 done
103}
104
105FILES:${PN} += "/opt/${PN}"
106FILES:${PN}-dbg += "/opt/${PN}/*/*/.debug /usr/src/debug"
107INSANE_SKIP:${PN} += "already-stripped rpaths"
108
109# Unfortunately recipes with an empty main package, like header-only libraries,
110# are not included in the SDK. Use RDEPENDS as a workaround.
111RDEPENDS_EMPTY_MAIN_PACKAGE = " \
112 fmt \
113 gli \
114 glm \
115 googletest \
116 half \
117 nlohmann-json \
118 rapidjson \
119 stb \
120"
121RDEPENDS_EMPTY_MAIN_PACKAGE_MX8 = ""
122RDEPENDS_EMPTY_MAIN_PACKAGE_MX8:mx8-nxp-bsp = " \
123 ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'libxdg-shell', '', d)} \
124 rapidopencl \
125 rapidopenvx \
126 rapidvulkan \
127"
128RDEPENDS_EMPTY_MAIN_PACKAGE_MX8:mx8mm-nxp-bsp = ""
129# vulkan-loader is dynamically loaded, so need to add an explicit
130# dependency
131RDEPENDS_VULKAN_LOADER = ""
132RDEPENDS_VULKAN_LOADER:mx8-nxp-bsp = "vulkan-validation-layers vulkan-loader"
133RDEPENDS_VULKAN_LOADER:mx8mm-nxp-bsp = ""
134RDEPENDS:${PN} += " \
135 ${RDEPENDS_EMPTY_MAIN_PACKAGE} \
136 ${RDEPENDS_EMPTY_MAIN_PACKAGE_MX8} \
137 ${RDEPENDS_VULKAN_LOADER} \
138"
139
140# For backwards compatibility
141RPROVIDES:${PN} = "fsl-gpu-sdk"
142RREPLACES:${PN} = "fsl-gpu-sdk"
143RCONFLICTS:${PN} = "fsl-gpu-sdk"
144
145COMPATIBLE_MACHINE = "(imxgpu)"