summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRandolph Sapp <rs@ti.com>2023-06-01 22:58:57 -0500
committerRyan Eatmon <reatmon@ti.com>2023-06-02 13:33:25 -0500
commit1899f5ead39d88e18442209f06d23a8c291f978a (patch)
tree1f6ae5a240afa94bd8e345babfd5a0e8322aede6
parent8cf55cdfebf76f745cc387c15aa18f30f1323cad (diff)
downloadmeta-ti-1899f5ead39d88e18442209f06d23a8c291f978a.tar.gz
ti-img-rogue-umlibs: bump version and explicitly package
Bump the version and explicitly package all Khronos APIs separately. This should be nice for those folks that want a headless opencl system for tinkering and such. This version includes experimental GEM support (for applications like Chromium that like to poke at the render node) and a new Vulkan ICD loader interface for better support with the Vulkan ICD loaders present in Yocto. This lifts a method from mesa used to force a common naming convention for Vulkan, OpenCL, and OpenGLES libs to make things a little easier to follow. Without it the target package names get scrambled based on the shared object name. Signed-off-by: Randolph Sapp <rs@ti.com> Signed-off-by: Ryan Eatmon <reatmon@ti.com>
-rw-r--r--meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb2
-rw-r--r--meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb88
2 files changed, 64 insertions, 26 deletions
diff --git a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb
index 76e3d801..1a08a441 100644
--- a/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb
+++ b/meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb
@@ -22,7 +22,7 @@ SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-driver.git;protocol=https;
22 22
23S = "${WORKDIR}/git" 23S = "${WORKDIR}/git"
24 24
25SRCREV = "93c66ec66136654849809132b86d3b880ee96ed6" 25SRCREV = "ebddb087ef140ca83e4c30d66580b0bb33b003fd"
26 26
27TARGET_PRODUCT:j721e = "j721e_linux" 27TARGET_PRODUCT:j721e = "j721e_linux"
28TARGET_PRODUCT:j721s2 = "j721s2_linux" 28TARGET_PRODUCT:j721s2 = "j721s2_linux"
diff --git a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb
index f22cd1d1..26090038 100644
--- a/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb
+++ b/meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb
@@ -12,7 +12,7 @@ PR = "r2"
12 12
13BRANCH = "linuxws/kirkstone/k6.1/${PV}" 13BRANCH = "linuxws/kirkstone/k6.1/${PV}"
14SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}" 14SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}"
15SRCREV = "452b0f50d2984171c81d5a0d3b22198177d919ad" 15SRCREV = "bfacba50b004d0e93ee1f8b42d2217131453f5fd"
16S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}" 16S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}"
17 17
18TARGET_PRODUCT:j721e = "j721e_linux" 18TARGET_PRODUCT:j721e = "j721e_linux"
@@ -22,52 +22,90 @@ TARGET_PRODUCT:am62xx = "am62_linux"
22PVR_BUILD = "release" 22PVR_BUILD = "release"
23PVR_WS = "lws-generic" 23PVR_WS = "lws-generic"
24 24
25RDEPENDS:${PN} += "mesa-megadriver libdrm ti-img-rogue-driver" 25RDEPENDS:${PN} = " \
26 libdrm \
27 ti-img-rogue-driver \
28 ${PN}-firmware \
29"
26 30
27do_install:append() { 31do_install:append() {
28 if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then 32 if ${@bb.utils.contains('DISTRO_FEATURES', 'usrmerge', 'true', 'false', d)}; then
29 mv ${D}/lib/firmware ${D}${nonarch_base_libdir} 33 mv ${D}/lib/firmware ${D}${nonarch_base_libdir}
30 rmdir ${D}/lib 34 rmdir ${D}/lib
31 fi 35 fi
32 if ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'false', 'true', d)}; then
33 rm -rf ${D}${libdir}/libVK_IMG.so*
34 fi
35 rm -rf "${D}/etc/init.d"
36} 36}
37 37
38PACKAGES = " \ 38PACKAGES = " \
39 ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${PN}-vulkan", "", d)} \ 39 libgles1-rogue libgles1-rogue-dev \
40 libgles2-rogue libgles2-rogue-dev \
41 libgles3-rogue libgles3-rogue-dev \
42 libvk-rogue libvk-rogue-dev \
43 libopencl-rogue libopencl-rogue-dev \
44 libopencl-rogue-tools \
40 ${PN}-tools \ 45 ${PN}-tools \
41 ${PN}-firmware \ 46 ${PN}-firmware \
42 ${PN} \ 47 ${PN} \
43" 48"
44 49
45FILES:${PN}-vulkan = " \ 50# Inject variables so that packages don't get Debian-renamed (which would
46 ${datadir}/vulkan \ 51# remove the -rogue suffix), but don't RPROVIDEs/RCONFLICTs on the generic
47 ${libdir}/libVK_IMG.so* \ 52# libgl name to prevent colliding with swrast libs
48" 53python __anonymous() {
49RDEPENDS:${PN}-vulkan += " \ 54 suffix = ""
50 mesa-vulkan-drivers \ 55 if "-native" in d.getVar("PN"):
51 libdrm \ 56 suffix = "-native"
52 ti-img-rogue-driver \ 57 for p in (("vulkan", "libvk",),
53 libx11-xcb \ 58 ("gles", "libgles1", "libglesv1-cm1"),
54 wayland \ 59 ("gles", "libgles2", "libglesv2-2"),
55" 60 ("gles", "libgles3",),
56INSANE_SKIP:${PN}-vulkan += " \ 61 ("opencl", "libopencl",)):
57 already-stripped \ 62 mlprefix = d.getVar("MLPREFIX")
58 dev-so \ 63 fullp = mlprefix + p[1] + "-rogue" + suffix
59" 64 mlprefix = d.getVar("MLPREFIX")
65 pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:])
66 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
67 d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}ti-img-rogue-umlibs" + suffix)
68
69 # For -dev, the first element is both the Debian and original name
70 fullp = mlprefix + p[1] + "-rogue-dev" + suffix
71 pkgs = " " + mlprefix + p[1] + "-dev" + suffix
72 d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1")
73}
74
75# gles specific shared objects
76FILES:libgles1-rogue = "${libdir}/libGLESv1*.so.*"
77FILES:libgles1-rogue-dev = "${libdir}/libGLESv1*.so"
78FILES:libgles2-rogue = "${libdir}/libGLESv2*.so.*"
79FILES:libgles2-rogue-dev = "${libdir}/libGLESv2*.so"
80RDEPENDS:libgles1-rogue += "mesa-megadriver"
81RDEPENDS:libgles2-rogue += "mesa-megadriver"
82RDEPENDS:libgles3-rogue-dev += "libgles2-rogue-dev"
83
84# vulkan specific shared objects and configs
85FILES:libvk-rogue = "${libdir}/libVK_IMG.so.* ${datadir}/vulkan"
86FILES:libvk-rogue-dev = "${libdir}/libVK_IMG.so"
87RDEPENDS:libvk-rogue += "vulkan-loader libx11-xcb wayland libdrm"
88
89# opencl specific shared objects and configs
90FILES:libopencl-rogue = "${libdir}/libPVROCL.so.* ${sysconfdir}/OpenCL"
91FILES:libopencl-rogue-dev = "${libdir}/libPVROCL.so"
92RDEPENDS:libopencl-rogue += "opencl-icd-loader"
93RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools"
94FILES:libopencl-rogue-tools += "${bindir}/ocl*"
60 95
96# optional tools and tests
61FILES:${PN}-tools = "${bindir}/" 97FILES:${PN}-tools = "${bindir}/"
62RDEPENDS:${PN}-tools = "python3-core" 98RDEPENDS:${PN}-tools = "python3-core ${PN}"
63 99
100# required firmware
64FILES:${PN}-firmware = "${base_libdir}/firmware/*" 101FILES:${PN}-firmware = "${base_libdir}/firmware/*"
65INSANE_SKIP:${PN}-firmware += "arch" 102INSANE_SKIP:${PN}-firmware += "arch"
66 103
67RRECOMMENDS:${PN} += " \ 104RRECOMMENDS:${PN} += " \
68 ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${PN}-vulkan", "", d)} \ 105 ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libgles1-rogue libgles2-rogue", "", d)} \
106 ${@bb.utils.contains("DISTRO_FEATURES", "vulkan x11 wayland", "libvk-rogue", "", d)} \
107 ${@bb.utils.contains("DISTRO_FEATURES", "opencl", "libopencl-rogue", "", d)} \
69 ${PN}-tools \ 108 ${PN}-tools \
70" 109"
71RDEPENDS:${PN} += " ${PN}-firmware"
72 110
73INSANE_SKIP:${PN} += "already-stripped dev-so" 111INSANE_SKIP:${PN} += "already-stripped dev-so"