diff options
author | Randolph Sapp <rs@ti.com> | 2024-02-01 10:36:15 -0600 |
---|---|---|
committer | Ryan Eatmon <reatmon@ti.com> | 2024-02-07 10:38:35 -0600 |
commit | e9ed788e1882ea24c0f349789370e89003c4d019 (patch) | |
tree | fabdcab83c976cf4108d16fcb394c0d0035e3f55 /meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.3.6512818.bb | |
parent | 5b29403de4be5fea2cc1fcc34e378a3d12e6e47f (diff) | |
download | meta-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.bb | 145 |
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 @@ | |||
1 | DESCRIPTION = "Userspace libraries for PowerVR Rogue GPU on TI SoCs" | ||
2 | HOMEPAGE = "http://git.ti.com/graphics/ti-img-rogue-umlibs" | ||
3 | LICENSE = "TI-TFL" | ||
4 | LIC_FILES_CHKSUM = "file://${WORKDIR}/git/LICENSE;md5=7232b98c1c58f99e3baa03de5207e76f" | ||
5 | |||
6 | inherit bin_package | ||
7 | |||
8 | INHIBIT_DEFAULT_DEPS = "" | ||
9 | |||
10 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
11 | COMPATIBLE_MACHINE = "j721e|j721s2|j784s4|am62xx|am62pxx|j722s" | ||
12 | |||
13 | PR = "r3" | ||
14 | |||
15 | BRANCH = "linuxws/kirkstone/k6.1/${PV}" | ||
16 | SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}" | ||
17 | SRCREV = "0b9e64254269be2fa95c4f3e1dd925d6e4d58199" | ||
18 | S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}" | ||
19 | |||
20 | TARGET_PRODUCT:j721e = "j721e_linux" | ||
21 | TARGET_PRODUCT:j721s2 = "j721s2_linux" | ||
22 | TARGET_PRODUCT:j784s4 = "j784s4_linux" | ||
23 | TARGET_PRODUCT:am62xx = "am62_linux" | ||
24 | TARGET_PRODUCT:am62pxx = "am62p_linux" | ||
25 | TARGET_PRODUCT:j722s = "j722s_linux" | ||
26 | PVR_BUILD = "release" | ||
27 | PVR_WS = "lws-generic" | ||
28 | |||
29 | RDEPENDS:${PN} = " \ | ||
30 | libdrm \ | ||
31 | ti-img-rogue-driver \ | ||
32 | ${PN}-firmware \ | ||
33 | " | ||
34 | |||
35 | PACKAGECONFIG ?= " \ | ||
36 | ${@bb.utils.contains('DISTRO_FEATURES', 'vulkan wayland', 'vulkan', '', d)} \ | ||
37 | ${@bb.utils.filter('DISTRO_FEATURES', 'opengl opencl', d)} \ | ||
38 | " | ||
39 | |||
40 | PACKAGECONFIG[opengl] = ",,,,${GLES_PACKAGES}" | ||
41 | PACKAGECONFIG[vulkan] = ",,,,${VULKAN_PACKAGES}" | ||
42 | PACKAGECONFIG[opencl] = ",,,,${OPENCL_PACKAGES}" | ||
43 | |||
44 | def 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 | |||
56 | do_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 | |||
82 | GLES_PACKAGES = "libgles1-rogue libgles2-rogue libgles3-rogue" | ||
83 | VULKAN_PACKAGES = "libvk-rogue" | ||
84 | OPENCL_PACKAGES = "libopencl-rogue libopencl-rogue-tools" | ||
85 | |||
86 | PACKAGES = " \ | ||
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 | ||
98 | python __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 | ||
117 | FILES:libgles1-rogue = "${libdir}/libGLESv1*.so*" | ||
118 | FILES:libgles2-rogue = "${libdir}/libGLESv2*.so*" | ||
119 | RDEPENDS:libgles1-rogue += "mesa-megadriver" | ||
120 | RDEPENDS:libgles2-rogue += "mesa-megadriver" | ||
121 | |||
122 | # vulkan specific shared objects and configs | ||
123 | FILES:libvk-rogue = "${libdir}/libVK_IMG.so* ${datadir}/vulkan" | ||
124 | RDEPENDS:libvk-rogue += "vulkan-loader wayland libdrm" | ||
125 | |||
126 | # opencl specific shared objects and configs | ||
127 | FILES:libopencl-rogue = "${libdir}/libPVROCL.so* ${sysconfdir}/OpenCL" | ||
128 | RDEPENDS:libopencl-rogue += "opencl-icd-loader" | ||
129 | RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools" | ||
130 | FILES:libopencl-rogue-tools += "${bindir}/ocl*" | ||
131 | DEBIAN_NOAUTONAME:libopencl-rogue-tools = "1" | ||
132 | |||
133 | # optional tools and tests | ||
134 | FILES:${PN}-tools = "${bindir}/" | ||
135 | RDEPENDS:${PN}-tools = "python3-core ${PN}" | ||
136 | |||
137 | # required firmware | ||
138 | FILES:${PN}-firmware = "${base_libdir}/firmware/*" | ||
139 | INSANE_SKIP:${PN}-firmware += "arch" | ||
140 | |||
141 | RRECOMMENDS:${PN} += " \ | ||
142 | ${PN}-tools \ | ||
143 | " | ||
144 | |||
145 | INSANE_SKIP:${PN} += "already-stripped dev-so" | ||