diff options
author | Randolph Sapp <rs@ti.com> | 2023-05-30 16:58:27 -0500 |
---|---|---|
committer | Ryan Eatmon <reatmon@ti.com> | 2023-06-01 16:07:00 -0500 |
commit | 9af812fcd6704aff016469be791cde8b11d7f773 (patch) | |
tree | 93becdb84a583abbc73cad087a19fb1f4e6f1879 /meta-ti-bsp | |
parent | 2734d0d2905cfd0d2d3b13eed211a1ffb124e8d3 (diff) | |
download | meta-ti-9af812fcd6704aff016469be791cde8b11d7f773.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>
Diffstat (limited to 'meta-ti-bsp')
-rw-r--r-- | meta-ti-bsp/recipes-bsp/powervr-drivers/ti-img-rogue-driver_23.1.6404501.bb | 2 | ||||
-rw-r--r-- | meta-ti-bsp/recipes-graphics/powervr-umlibs/ti-img-rogue-umlibs_23.1.6404501.bb | 89 |
2 files changed, 65 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 | ||
23 | S = "${WORKDIR}/git" | 23 | S = "${WORKDIR}/git" |
24 | 24 | ||
25 | SRCREV = "93c66ec66136654849809132b86d3b880ee96ed6" | 25 | SRCREV = "ebddb087ef140ca83e4c30d66580b0bb33b003fd" |
26 | 26 | ||
27 | TARGET_PRODUCT:j721e = "j721e_linux" | 27 | TARGET_PRODUCT:j721e = "j721e_linux" |
28 | TARGET_PRODUCT:j721s2 = "j721s2_linux" | 28 | TARGET_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..3fcb786c 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 | ||
13 | BRANCH = "linuxws/kirkstone/k6.1/${PV}" | 13 | BRANCH = "linuxws/kirkstone/k6.1/${PV}" |
14 | SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}" | 14 | SRC_URI = "git://git.ti.com/git/graphics/ti-img-rogue-umlibs.git;protocol=https;branch=${BRANCH}" |
15 | SRCREV = "452b0f50d2984171c81d5a0d3b22198177d919ad" | 15 | SRCREV = "bfacba50b004d0e93ee1f8b42d2217131453f5fd" |
16 | S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}" | 16 | S = "${WORKDIR}/git/targetfs/${TARGET_PRODUCT}/${PVR_WS}/${PVR_BUILD}" |
17 | 17 | ||
18 | TARGET_PRODUCT:j721e = "j721e_linux" | 18 | TARGET_PRODUCT:j721e = "j721e_linux" |
@@ -22,52 +22,91 @@ TARGET_PRODUCT:am62xx = "am62_linux" | |||
22 | PVR_BUILD = "release" | 22 | PVR_BUILD = "release" |
23 | PVR_WS = "lws-generic" | 23 | PVR_WS = "lws-generic" |
24 | 24 | ||
25 | RDEPENDS:${PN} += "mesa-megadriver libdrm ti-img-rogue-driver" | 25 | RDEPENDS:${PN} = " \ |
26 | libdrm \ | ||
27 | ti-img-rogue-driver \ | ||
28 | ${PN}-firmware \ | ||
29 | " | ||
26 | 30 | ||
27 | do_install:append() { | 31 | do_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 | ||
38 | PACKAGES = " \ | 38 | PACKAGES = " \ |
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 \ |
47 | ${PN}-dev \ | ||
42 | ${PN} \ | 48 | ${PN} \ |
43 | " | 49 | " |
44 | 50 | ||
45 | FILES:${PN}-vulkan = " \ | 51 | # Inject variables so that packages don't get Debian-renamed (which would |
46 | ${datadir}/vulkan \ | 52 | # remove the -rogue suffix), but don't RPROVIDEs/RCONFLICTs on the generic |
47 | ${libdir}/libVK_IMG.so* \ | 53 | # libgl name to prevent colliding with swrast libs |
48 | " | 54 | python __anonymous() { |
49 | RDEPENDS:${PN}-vulkan += " \ | 55 | suffix = "" |
50 | mesa-vulkan-drivers \ | 56 | if "-native" in d.getVar("PN"): |
51 | libdrm \ | 57 | suffix = "-native" |
52 | ti-img-rogue-driver \ | 58 | for p in (("vulkan", "libvk",), |
53 | libx11-xcb \ | 59 | ("gles", "libgles1", "libglesv1-cm1"), |
54 | wayland \ | 60 | ("gles", "libgles2", "libglesv2-2"), |
55 | " | 61 | ("gles", "libgles3",), |
56 | INSANE_SKIP:${PN}-vulkan += " \ | 62 | ("opencl", "libopencl",)): |
57 | already-stripped \ | 63 | mlprefix = d.getVar("MLPREFIX") |
58 | dev-so \ | 64 | fullp = mlprefix + p[1] + "-rogue" + suffix |
59 | " | 65 | mlprefix = d.getVar("MLPREFIX") |
66 | pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:]) | ||
67 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | ||
68 | d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}ti-img-rogue-umlibs" + suffix) | ||
69 | |||
70 | # For -dev, the first element is both the Debian and original name | ||
71 | fullp = mlprefix + p[1] + "-rogue-dev" + suffix | ||
72 | pkgs = " " + mlprefix + p[1] + "-dev" + suffix | ||
73 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | ||
74 | } | ||
75 | |||
76 | # gles specific shared objects | ||
77 | FILES:libgles1-rogue = "${libdir}/libGLESv1*.so.*" | ||
78 | FILES:libgles1-rogue-dev = "${libdir}/libGLESv1*.so" | ||
79 | FILES:libgles2-rogue = "${libdir}/libGLESv2*.so.*" | ||
80 | FILES:libgles2-rogue-dev = "${libdir}/libGLESv2*.so" | ||
81 | RDEPENDS:libgles1-rogue += "mesa-megadriver" | ||
82 | RDEPENDS:libgles2-rogue += "mesa-megadriver" | ||
83 | RDEPENDS:libgles3-rogue-dev += "libgles2-rogue-dev" | ||
84 | |||
85 | # vulkan specific shared objects and configs | ||
86 | FILES:libvk-rogue = "${libdir}/libVK_IMG.so.* ${datadir}/vulkan" | ||
87 | FILES:libvk-rogue-dev = "${libdir}/libVK_IMG.so" | ||
88 | RDEPENDS:libvk-rogue += "vulkan-loader libx11-xcb wayland libdrm" | ||
89 | |||
90 | # opencl specific shared objects and configs | ||
91 | FILES:libopencl-rogue = "${libdir}/libPVROCL.so.* ${sysconfdir}/OpenCL" | ||
92 | FILES:libopencl-rogue-dev = "${libdir}/libPVROCL.so" | ||
93 | RDEPENDS:libopencl-rogue += "opencl-icd-loader" | ||
94 | RRECOMMENDS:libopencl-rogue += "libopencl-rogue-tools" | ||
95 | FILES:libopencl-rogue-tools += "${bindir}/ocl*" | ||
60 | 96 | ||
97 | # optional tools and tests | ||
61 | FILES:${PN}-tools = "${bindir}/" | 98 | FILES:${PN}-tools = "${bindir}/" |
62 | RDEPENDS:${PN}-tools = "python3-core" | 99 | RDEPENDS:${PN}-tools = "python3-core ${PN}" |
63 | 100 | ||
101 | # required firmware | ||
64 | FILES:${PN}-firmware = "${base_libdir}/firmware/*" | 102 | FILES:${PN}-firmware = "${base_libdir}/firmware/*" |
65 | INSANE_SKIP:${PN}-firmware += "arch" | 103 | INSANE_SKIP:${PN}-firmware += "arch" |
66 | 104 | ||
67 | RRECOMMENDS:${PN} += " \ | 105 | RRECOMMENDS:${PN} += " \ |
68 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "${PN}-vulkan", "", d)} \ | 106 | ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "libgles1-rogue libgles2-rogue", "", d)} \ |
107 | ${@bb.utils.contains("DISTRO_FEATURES", "vulkan x11 wayland", "libvk-rogue", "", d)} \ | ||
108 | ${@bb.utils.contains("DISTRO_FEATURES", "opencl", "libopencl-rogue", "", d)} \ | ||
69 | ${PN}-tools \ | 109 | ${PN}-tools \ |
70 | " | 110 | " |
71 | RDEPENDS:${PN} += " ${PN}-firmware" | ||
72 | 111 | ||
73 | INSANE_SKIP:${PN} += "already-stripped dev-so" | 112 | INSANE_SKIP:${PN} += "already-stripped dev-so" |