summaryrefslogtreecommitdiffstats
path: root/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb
diff options
context:
space:
mode:
authorRandolph Sapp <rs@ti.com>2024-02-01 10:36:15 -0600
committerRyan Eatmon <reatmon@ti.com>2024-02-07 10:38:35 -0600
commite9ed788e1882ea24c0f349789370e89003c4d019 (patch)
treefabdcab83c976cf4108d16fcb394c0d0035e3f55 /meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb
parent5b29403de4be5fea2cc1fcc34e378a3d12e6e47f (diff)
downloadmeta-ti-e9ed788e1882ea24c0f349789370e89003c4d019.tar.gz
ti-img-rogue-*: version bump to 23.3.6512818
Migrate to version 23.3.6512818, this includes the stability updates released in 23.2 as well as some additional modifications to help with userspace application support, namely Chromium. We're also dropping the x11 window system extensions from the Vulkan libraries for now. Ideally, both x11 and wayland extensions will be provided by mesa's vulkan-wsi-layer in the future, but currently x11 isn't supported and this just added extra complexity to the package in Yocto. Signed-off-by: Randolph Sapp <rs@ti.com> Tested-by: Darren Etheridge <detheridge@ti.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
Diffstat (limited to 'meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb')
-rw-r--r--meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb145
1 files changed, 145 insertions, 0 deletions
diff --git a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb
new file mode 100644
index 00000000..288eb52b
--- /dev/null
+++ b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb
@@ -0,0 +1,145 @@
1DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs"
2HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs"
3LICENSE = "TI-TFL"
4LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f"
5
6inherit bin_package
7
8INHIBIT_DEFAULT_DEPS = ""
9
10PACKAGE_ARCH = "${MACHINE_ARCH}"
11COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s"
12
13PR = "r3"
14
15BRANCH = "linuxws/kirkstone/k6.1/${PV}"
16SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
17SRCREV = "0b9e64254269be2fa95c4f3e1dd925d6e4d58199"
18S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}"
19
20TARGET_PRODUCT:j721e = "j721e_linux"
21TARGET_PRODUCT:j721s2 = "j721s2_linux"
22TARGET_PRODUCT:j784s4 = "j784s4_linux"
23TARGET_PRODUCT:am62xx = "am62_linux"
24TARGET_PRODUCT:am62pxx = "am62p_linux"
25TARGET_PRODUCT:j722s = "j722s_linux"
26PVR_BUILD = "release"
27PVR_WS = "lws-generic"
28
29RDEPENDS:${PN} = " \
30 libdrm \
31 ti-img-rogue-driver \
32 ${PN}-firmware \
33"
34
35PACKAGECONFIG ?= " \
36 ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan wayland', 'vulkan', '', d)} \
37 ${@bb.utils.filter('DISTRO_FEATURES', 'opengl opencl', d)} \
38"
39
40PACKAGECONFIG[opengl] = ",,,,${GLES_PACKAGES}"
41PACKAGECONFIG[vulkan] = ",,,,${VULKAN_PACKAGES}"
42PACKAGECONFIG[opencl] = ",,,,${OPENCL_PACKAGES}"
43
44def get_file_list(package_list_var, d):
45 file_list = []
46 package_list = d.getVar(package_list_var)
47 prefix = f"{d.getVar('S')}/"
48 if package_list:
49 for package in package_list.split():
50 package_file_string = d.getVar(f"FILES:{package}")
51 if package_file_string:
52 for package_file in package_file_string.split():
53 file_list.append(f"{prefix}{package_file}")
54 return " ".join(file_list)
55
56do_install:prepend() {
57 if ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'false', 'true', d)}; then
58 for file in ${@get_file_list('GLES_PACKAGES', d)}; do
59 rm -rf ${file}
60 done
61 fi
62 if ${@bb.utils.contains('PACKAGECONFIG', 'vulkan', 'false', 'true', d)}; then
63 for file in ${@get_file_list('VULKAN_PACKAGES', d)}; do
64 rm -rf ${file}
65 done
66 fi
67 if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'false', 'true', d)}; then
68 for file in ${@get_file_list('OPENCL_PACKAGES', d)}; do
69 rm -rf ${file}
70 done
71 fi
72 if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
73 if [ -e ${S}/lib/firmware ]; then
74 mv ${S}/lib/firmware ${S}${nonarch_base_libdir}
75 fi
76 fi
77
78 # clean up any empty directories
79 find "${S}" -empty -type d -delete
80}
81
82GLES_PACKAGES = "libgles1-rogue libgles2-rogue libgles3-rogue"
83VULKAN_PACKAGES = "libvk-rogue"
84OPENCL_PACKAGES = "libopencl-rogue libopencl-rogue-tools"
85
86PACKAGES = " \
87 ${@bb.utils.contains('PACKAGECONFIG', 'opengl', d.getVar('GLES_PACKAGES'), '', d)} \
88 ${@bb.utils.contains('PACKAGECONFIG', 'vulkan', d.getVar('VULKAN_PACKAGES'), '', d)} \
89 ${@bb.utils.contains('PACKAGECONFIG', 'opencl', d.getVar('OPENCL_PACKAGES'), '', d)} \
90 ${PN}-tools \
91 ${PN}-firmware \
92 ${PN} \
93"
94
95# Inject variables so that packages don't get Debian-renamed (which would
96# remove the -rogue suffix), but don't RPROVIDEs/RCONFLICTs on the generic
97# libgl name to prevent colliding with swrast libs
98python __anonymous() {
99 suffix = ""
100 if "-native" in d.getVar("PN"):
101 suffix = "-native"
102 for p in (("vulkan", "libvk",),
103 ("gles", "libgles1", "libglesv1-cm1"),
104 ("gles", "libgles2", "libglesv2-2"),
105 ("gles", "libgles3",),
106 ("opencl", "libopencl",)):
107 mlprefix = d.getVar("MLPREFIX")
108 fullp = mlprefix + p[1] + "-rogue" + suffix
109 mlprefix = d.getVar("MLPREFIX")
110 pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
111 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
112 d.setVar("INSANE_SKIP:" + fullp, "dev-so")
113 d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}ti-img-rogue-umlibs" + suffix)
114}
115
116# gles specific shared objects
117FILES:libgles1-rogue = "${libdir}/libGLESv1*.so*"
118FILES:libgles2-rogue = "${libdir}/libGLESv2*.so*"
119RDEPENDS:libgles1-rogue += "mesa-megadriver"
120RDEPENDS:libgles2-rogue += "mesa-megadriver"
121
122# vulkan specific shared objects and configs
123FILES:libvk-rogue = "${libdir}/libVK_IMG.so* ${datadir}/vulkan"
124RDEPENDS:libvk-rogue += "vulkan-loader wayland libdrm"
125
126# opencl specific shared objects and configs
127FILES:libopencl-rogue = "${libdir}/libPVROCL.so* ${sysconfdir}/OpenCL"
128RDEPENDS:libopencl-rogue += "opencl-icd-loader"
129RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools"
130FILES:libopencl-rogue-tools += "${bindir}/ocl*"
131DEBIAN_NOAUTONAME:libopencl-rogue-tools = "1"
132
133# optional tools and tests
134FILES:${PN}-tools = "${bindir}/"
135RDEPENDS:${PN}-tools = "python3-core ${PN}"
136
137# required firmware
138FILES:${PN}-firmware = "${base_libdir}/firmware/*"
139INSANE_SKIP:${PN}-firmware += "arch"
140
141RRECOMMENDS:${PN} += " \
142 ${PN}-tools \
143"
144
145INSANE_SKIP:${PN} += "already-stripped dev-so"