diff options
Diffstat (limited to 'meta/recipes-graphics/mesa/mesa.inc')
-rw-r--r-- | meta/recipes-graphics/mesa/mesa.inc | 137 |
1 files changed, 64 insertions, 73 deletions
diff --git a/meta/recipes-graphics/mesa/mesa.inc b/meta/recipes-graphics/mesa/mesa.inc index 288027bbb9..4b1e427ad5 100644 --- a/meta/recipes-graphics/mesa/mesa.inc +++ b/meta/recipes-graphics/mesa/mesa.inc | |||
@@ -17,13 +17,12 @@ PE = "2" | |||
17 | SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ | 17 | SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ |
18 | file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ | 18 | file://0001-meson-misdetects-64bit-atomics-on-mips-clang.patch \ |
19 | file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \ | 19 | file://0001-freedreno-don-t-encode-build-path-into-binaries.patch \ |
20 | file://0001-mesa-clc-add-an-option-to-force-inclusion-of-OpenCL-.patch \ | 20 | file://0001-dont-build-clover-frontend.patch \ |
21 | file://0001-clover-Don-t-include-libclc-headers.patch \ | 21 | file://0001-meson-stop-building-XA-by-default.patch \ |
22 | file://0001-gallium-clover-Do-not-use-LLVM_LIBRARY_DIR-for-FALLB.patch \ | ||
23 | " | 22 | " |
24 | 23 | ||
25 | SRC_URI[sha256sum] = "c0d245dea0aa4b49f74b3d474b16542e4a8799791cd33d676c69f650ad4378d0" | 24 | SRC_URI[sha256sum] = "cf942a18b7b9e9b88524dcbf0b31fed3cde18e6d52b3375b0ab6587a14415bce" |
26 | PV = "25.0.5" | 25 | PV = "25.1.1" |
27 | 26 | ||
28 | UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" | 27 | UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" |
29 | 28 | ||
@@ -35,15 +34,21 @@ do_install:append() { | |||
35 | if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then | 34 | if ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'true', 'false', d)} && [ -f ${D}${includedir}/EGL/eglplatform.h ]; then |
36 | sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h | 35 | sed -i -e 's/^#elif defined(__unix__) && defined(EGL_NO_X11)$/#elif defined(__unix__) \&\& defined(EGL_NO_X11) || ${@bb.utils.contains('PACKAGECONFIG', 'x11', '0', '1', d)}/' ${D}${includedir}/EGL/eglplatform.h |
37 | fi | 36 | fi |
37 | # These are ICDs, apps are not supposed to link against them | ||
38 | if ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'true', 'false', d)} ; then | ||
39 | rm -f ${D}${libdir}/libEGL_mesa.so ${D}${libdir}/libGLX_mesa.so | ||
40 | fi | ||
38 | } | 41 | } |
39 | 42 | ||
40 | DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" | 43 | DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" |
41 | EXTRANATIVEPATH += "chrpath-native" | 44 | EXTRANATIVEPATH += "chrpath-native" |
42 | PROVIDES = " \ | 45 | GLPROVIDES = " \ |
43 | ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ | 46 | ${@bb.utils.contains('PACKAGECONFIG', 'opengl', 'virtual/libgl', '', d)} \ |
44 | ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', 'virtual/libglx', '', d)} \ | ||
45 | ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \ | 47 | ${@bb.utils.contains('PACKAGECONFIG', 'gles', 'virtual/libgles1 virtual/libgles2 virtual/libgles3', '', d)} \ |
46 | ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ | 48 | ${@bb.utils.contains('PACKAGECONFIG', 'egl', 'virtual/egl', '', d)} \ |
49 | " | ||
50 | PROVIDES = " \ | ||
51 | ${@bb.utils.contains('PACKAGECONFIG', 'glvnd', '', d.getVar('GLPROVIDES'), d)} \ | ||
47 | ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ | 52 | ${@bb.utils.contains('PACKAGECONFIG', 'gbm', 'virtual/libgbm', '', d)} \ |
48 | virtual/mesa \ | 53 | virtual/mesa \ |
49 | " | 54 | " |
@@ -70,7 +75,6 @@ def check_buildtype(d): | |||
70 | MESON_BUILDTYPE = "${@check_buildtype(d)}" | 75 | MESON_BUILDTYPE = "${@check_buildtype(d)}" |
71 | 76 | ||
72 | EXTRA_OEMESON = " \ | 77 | EXTRA_OEMESON = " \ |
73 | -Dshared-glapi=enabled \ | ||
74 | -Dglx-read-only-text=true \ | 78 | -Dglx-read-only-text=true \ |
75 | -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ | 79 | -Dplatforms='${@",".join("${PLATFORMS}".split())}' \ |
76 | " | 80 | " |
@@ -104,11 +108,12 @@ PACKAGECONFIG[x11] = ",-Dglx=disabled,${X11_DEPS}" | |||
104 | PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" | 108 | PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" |
105 | 109 | ||
106 | VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}" | 110 | VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}" |
111 | VULKAN_DRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}" | ||
107 | VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}" | 112 | VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}" |
108 | VULKAN_DRIVERS_SWRAST = ",swrast" | 113 | VULKAN_DRIVERS_SWRAST = ",swrast" |
109 | # Crashes on x32 | 114 | # Crashes on x32 |
110 | VULKAN_DRIVERS_SWRAST:x86-x32 = "" | 115 | VULKAN_DRIVERS_SWRAST:x86-x32 = "" |
111 | VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_INTEL}" | 116 | VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_ASAHI}${VULKAN_DRIVERS_INTEL}" |
112 | 117 | ||
113 | VULKAN_DRIVERS = "" | 118 | VULKAN_DRIVERS = "" |
114 | VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" | 119 | VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" |
@@ -147,11 +152,7 @@ PACKAGECONFIG[egl] = "-Degl=enabled, -Degl=disabled" | |||
147 | 152 | ||
148 | # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! | 153 | # "opencl" also requires libclc and gallium-llvm to be present in PKGCONFIG! |
149 | # Be sure to enable them both for the target and for the native build. | 154 | # Be sure to enable them both for the target and for the native build. |
150 | PACKAGECONFIG[opencl] = " \ | 155 | PACKAGECONFIG[opencl] = "-Dgallium-rusticl=true, -Dgallium-rusticl=false, bindgen-cli-native" |
151 | -Dgallium-opencl=icd -Dgallium-rusticl=true, \ | ||
152 | -Dgallium-opencl=disabled -Dgallium-rusticl=false, \ | ||
153 | bindgen-cli-native \ | ||
154 | " | ||
155 | 156 | ||
156 | PACKAGECONFIG[broadcom] = "" | 157 | PACKAGECONFIG[broadcom] = "" |
157 | PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" | 158 | PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" |
@@ -170,14 +171,14 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', '' | |||
170 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" | 171 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" |
171 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" | 172 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" |
172 | 173 | ||
173 | # radeonsi requires LLVM | 174 | GALLIUMDRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}" |
174 | GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}" | 175 | GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}" |
175 | GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}" | 176 | GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}" |
176 | GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe" | 177 | GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe" |
177 | # llvmpipe crashes on x32 | 178 | # llvmpipe crashes on x32 |
178 | GALLIUMDRIVERS_LLVMPIPE:x86-x32 = "" | 179 | GALLIUMDRIVERS_LLVMPIPE:x86-x32 = "" |
179 | GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}" | 180 | GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}" |
180 | GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}" | 181 | GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_ASAHI}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}" |
181 | 182 | ||
182 | PACKAGECONFIG[amd] = "" | 183 | PACKAGECONFIG[amd] = "" |
183 | PACKAGECONFIG[svga] = "" | 184 | PACKAGECONFIG[svga] = "" |
@@ -197,12 +198,13 @@ MESA_NATIVE:class-native = "" | |||
197 | PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" | 198 | PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" |
198 | PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" | 199 | PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" |
199 | PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" | 200 | PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" |
200 | PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled" | ||
201 | PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" | 201 | PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" |
202 | PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" | 202 | PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" |
203 | 203 | ||
204 | PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" | 204 | PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" |
205 | 205 | ||
206 | PACKAGECONFIG[asahi] = "" | ||
207 | |||
206 | PACKAGECONFIG[intel] = "" | 208 | PACKAGECONFIG[intel] = "" |
207 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915,crocus', '', d)}" | 209 | GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915,crocus', '', d)}" |
208 | 210 | ||
@@ -217,8 +219,6 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'tegra', ',tegra, | |||
217 | 219 | ||
218 | PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false" | 220 | PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false" |
219 | 221 | ||
220 | PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false" | ||
221 | |||
222 | PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto" | 222 | PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto" |
223 | 223 | ||
224 | PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" | 224 | PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" |
@@ -228,6 +228,8 @@ PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors" | |||
228 | VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}" | 228 | VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}" |
229 | PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''" | 229 | PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''" |
230 | 230 | ||
231 | PACKAGECONFIG[teflon] = "-Dteflon=true, -Dteflon=false" | ||
232 | |||
231 | # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) | 233 | # llvmpipe is slow if compiled with -fomit-frame-pointer (e.g. -O2) |
232 | FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer" | 234 | FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer" |
233 | 235 | ||
@@ -237,22 +239,14 @@ CFLAGS:append:armv6 = " -DMISSING_64BIT_ATOMICS" | |||
237 | # Remove the mesa dependency on mesa-dev, as mesa is empty | 239 | # Remove the mesa dependency on mesa-dev, as mesa is empty |
238 | DEV_PKG_DEPENDENCY = "" | 240 | DEV_PKG_DEPENDENCY = "" |
239 | 241 | ||
240 | # Khronos documentation says that include/GLES2/gl2ext.h can be used for | ||
241 | # OpenGL ES 3 specification as well as for OpenGL ES 2. | ||
242 | # There can be applications including GLES2/gl2ext.h instead of GLES3/gl3ext.h | ||
243 | # meaning we should probably bring in GLES2/gl2ext.h if someone asks for | ||
244 | # development package of libgles3. | ||
245 | RDEPENDS:libgles3-mesa-dev += "libgles2-mesa-dev" | ||
246 | |||
247 | # GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa. | 242 | # GLES2 and GLES3 implementations are packaged in a single library in libgles2-mesa. |
248 | # Add a dependency so the GLES3 dev package is associated with its implementation. | 243 | # Add a dependency so the GLES3 dev package is associated with its implementation. |
249 | RDEPENDS:libgles2-mesa += "libgles3-mesa" | 244 | RPROVIDES:libgles2-mesa += "libgles3-mesa" |
250 | ALLOW_EMPTY:libgles3-mesa = "1" | 245 | RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev" |
251 | 246 | ||
252 | RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}" | 247 | RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}" |
253 | 248 | ||
254 | PACKAGES =+ "libegl-mesa libegl-mesa-dev \ | 249 | PACKAGES =+ "libegl-mesa libegl-mesa-dev \ |
255 | libosmesa libosmesa-dev \ | ||
256 | libgallium \ | 250 | libgallium \ |
257 | libgl-mesa libgl-mesa-dev \ | 251 | libgl-mesa libgl-mesa-dev \ |
258 | libglx-mesa libglx-mesa-dev \ | 252 | libglx-mesa libglx-mesa-dev \ |
@@ -260,9 +254,8 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ | |||
260 | libgbm libgbm-dev \ | 254 | libgbm libgbm-dev \ |
261 | libgles1-mesa libgles1-mesa-dev \ | 255 | libgles1-mesa libgles1-mesa-dev \ |
262 | libgles2-mesa libgles2-mesa-dev \ | 256 | libgles2-mesa libgles2-mesa-dev \ |
263 | libgles3-mesa libgles3-mesa-dev \ | 257 | libopencl-mesa \ |
264 | libopencl-mesa libopencl-mesa-dev \ | 258 | libteflon \ |
265 | libxatracker libxatracker-dev \ | ||
266 | mesa-megadriver mesa-vulkan-drivers \ | 259 | mesa-megadriver mesa-vulkan-drivers \ |
267 | mesa-vdpau-drivers mesa-tools \ | 260 | mesa-vdpau-drivers mesa-tools \ |
268 | " | 261 | " |
@@ -278,36 +271,42 @@ do_install:append () { | |||
278 | # RPROVIDEs/RCONFLICTs on the generic libgl name. | 271 | # RPROVIDEs/RCONFLICTs on the generic libgl name. |
279 | python __anonymous() { | 272 | python __anonymous() { |
280 | pkgconfig = (d.getVar('PACKAGECONFIG') or "").split() | 273 | pkgconfig = (d.getVar('PACKAGECONFIG') or "").split() |
274 | mlprefix = d.getVar("MLPREFIX") | ||
281 | suffix = "" | 275 | suffix = "" |
282 | if "-native" in d.getVar("PN"): | 276 | if "-native" in d.getVar("PN"): |
283 | suffix = "-native" | 277 | suffix = "-native" |
284 | for p in (("egl", "libegl", "libegl1"), | ||
285 | ("opengl", "libgl", "libgl1"), | ||
286 | ("glvnd", "libglx",), | ||
287 | ("gles", "libgles1", "libglesv1-cm1"), | ||
288 | ("gles", "libgles2", "libglesv2-2"), | ||
289 | ("gles", "libgles3",), | ||
290 | ("opencl", "libopencl",)): | ||
291 | if not p[0] in pkgconfig: | ||
292 | continue | ||
293 | mlprefix = d.getVar("MLPREFIX") | ||
294 | fullp = mlprefix + p[1] + "-mesa" + suffix | ||
295 | mlprefix = d.getVar("MLPREFIX") | ||
296 | pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:]) | ||
297 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | ||
298 | d.appendVar("RREPLACES:" + fullp, pkgs) | ||
299 | d.appendVar("RPROVIDES:" + fullp, pkgs) | ||
300 | d.appendVar("RCONFLICTS:" + fullp, pkgs) | ||
301 | 278 | ||
279 | for p in ("libegl", "libgl", "libglx", "libgles1", "libgles2", "libgles3", "libopencl"): | ||
280 | fullp = mlprefix + p + "-mesa" + suffix | ||
302 | d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix) | 281 | d.appendVar("RRECOMMENDS:" + fullp, " ${MLPREFIX}mesa-megadriver" + suffix) |
303 | 282 | ||
304 | # For -dev, the first element is both the Debian and original name | 283 | d.setVar("DEBIAN_NOAUTONAME:%slibopencl-mesa%s" % (mlprefix, suffix), "1") |
305 | fullp = mlprefix + p[1] + "-mesa-dev" + suffix | 284 | |
306 | pkgs = " " + mlprefix + p[1] + "-dev" + suffix | 285 | if 'glvnd' in pkgconfig: |
307 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | 286 | for p in ("libegl", "libglx"): |
308 | d.appendVar("RREPLACES:" + fullp, pkgs) | 287 | fullp = mlprefix + p + "-mesa" + suffix |
309 | d.appendVar("RPROVIDES:" + fullp, pkgs) | 288 | d.appendVar("RPROVIDES:" + fullp, '%s-icd' % p) |
310 | d.appendVar("RCONFLICTS:" + fullp, pkgs) | 289 | else: |
290 | for p in (("egl", "libegl", "libegl1"), | ||
291 | ("opengl", "libgl", "libgl1"), | ||
292 | ("gles", "libgles1", "libglesv1-cm1"), | ||
293 | ("gles", "libgles2", "libglesv2-2", "libgles3")): | ||
294 | if not p[0] in pkgconfig: | ||
295 | continue | ||
296 | fullp = mlprefix + p[1] + "-mesa" + suffix | ||
297 | pkgs = " " + " ".join(mlprefix + x + suffix for x in p[1:]) | ||
298 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | ||
299 | d.appendVar("RREPLACES:" + fullp, pkgs) | ||
300 | d.appendVar("RPROVIDES:" + fullp, pkgs) | ||
301 | d.appendVar("RCONFLICTS:" + fullp, pkgs) | ||
302 | |||
303 | # For -dev, the first element is both the Debian and original name | ||
304 | fullp = mlprefix + p[1] + "-mesa-dev" + suffix | ||
305 | pkgs = " " + mlprefix + p[1] + "-dev" + suffix | ||
306 | d.setVar("DEBIAN_NOAUTONAME:" + fullp, "1") | ||
307 | d.appendVar("RREPLACES:" + fullp, pkgs) | ||
308 | d.appendVar("RPROVIDES:" + fullp, pkgs) | ||
309 | d.appendVar("RCONFLICTS:" + fullp, pkgs) | ||
311 | } | 310 | } |
312 | 311 | ||
313 | python mesa_populate_packages() { | 312 | python mesa_populate_packages() { |
@@ -329,9 +328,6 @@ python mesa_populate_packages() { | |||
329 | d.appendVar("RPROVIDES:%s" % lib_name, pkg_name) | 328 | d.appendVar("RPROVIDES:%s" % lib_name, pkg_name) |
330 | d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name) | 329 | d.appendVar("RCONFLICTS:%s" % lib_name, pkg_name) |
331 | d.appendVar("RREPLACES:%s" % lib_name, pkg_name) | 330 | d.appendVar("RREPLACES:%s" % lib_name, pkg_name) |
332 | |||
333 | pipe_drivers_root = os.path.join(d.getVar('libdir'), "gallium-pipe") | ||
334 | do_split_packages(d, pipe_drivers_root, r'^pipe_(.*)\.so$', 'mesa-driver-pipe-%s', 'Mesa %s pipe driver', extra_depends='') | ||
335 | } | 331 | } |
336 | 332 | ||
337 | PACKAGESPLITFUNCS =+ "mesa_populate_packages" | 333 | PACKAGESPLITFUNCS =+ "mesa_populate_packages" |
@@ -349,25 +345,17 @@ FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*" | |||
349 | FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" | 345 | FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" |
350 | FILES:libgl-mesa = "${libdir}/libGL.so.*" | 346 | FILES:libgl-mesa = "${libdir}/libGL.so.*" |
351 | FILES:libglx-mesa = "${libdir}/libGLX*.so.*" | 347 | FILES:libglx-mesa = "${libdir}/libGLX*.so.*" |
352 | FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/*.icd" | 348 | FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd" |
353 | FILES:libglapi = "${libdir}/libglapi.so.*" | 349 | FILES:libglapi = "${libdir}/libglapi.so.*" |
354 | FILES:libosmesa = "${libdir}/libOSMesa.so.*" | ||
355 | FILES:libxatracker = "${libdir}/libxatracker.so.*" | ||
356 | 350 | ||
357 | FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" | 351 | FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan ${libdir}/vdpau/*.so" |
358 | FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" | 352 | FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" |
359 | FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" | 353 | FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h" |
360 | FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" | 354 | FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc" |
361 | FILES:libglx-mesa-dev = "${libdir}/libGLX*.*" | ||
362 | FILES:libglapi-dev = "${libdir}/libglapi.*" | 355 | FILES:libglapi-dev = "${libdir}/libglapi.*" |
363 | FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" | 356 | FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" |
364 | FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" | 357 | FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc" |
365 | FILES:libgles3-mesa-dev = "${includedir}/GLES3" | 358 | FILES:libteflon = "${libdir}/libteflon.so" |
366 | FILES:libopencl-mesa-dev = "${libdir}/lib*OpenCL.so" | ||
367 | FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc" | ||
368 | FILES:libxatracker-dev = "${libdir}/libxatracker.so ${libdir}/libxatracker.la \ | ||
369 | ${includedir}/xa_tracker.h ${includedir}/xa_composite.h ${includedir}/xa_context.h \ | ||
370 | ${libdir}/pkgconfig/xatracker.pc" | ||
371 | # catch all to get all the tools and data | 359 | # catch all to get all the tools and data |
372 | FILES:${PN}-tools = "${bindir} ${datadir}" | 360 | FILES:${PN}-tools = "${bindir} ${datadir}" |
373 | ALLOW_EMPTY:${PN}-tools = "1" | 361 | ALLOW_EMPTY:${PN}-tools = "1" |
@@ -375,6 +363,9 @@ ALLOW_EMPTY:${PN}-tools = "1" | |||
375 | # All DRI drivers are symlinks to libdril_dri.so | 363 | # All DRI drivers are symlinks to libdril_dri.so |
376 | INSANE_SKIP:${PN}-megadriver += "dev-so" | 364 | INSANE_SKIP:${PN}-megadriver += "dev-so" |
377 | 365 | ||
366 | # OpenCL ICDs package also ship correspondig .so files, there is no -dev package | ||
367 | INSANE_SKIP:libopencl-mesa += "dev-so" | ||
368 | |||
378 | # Fix upgrade path from mesa to mesa-megadriver | 369 | # Fix upgrade path from mesa to mesa-megadriver |
379 | RREPLACES:mesa-megadriver = "mesa" | 370 | RREPLACES:mesa-megadriver = "mesa" |
380 | RCONFLICTS:mesa-megadriver = "mesa" | 371 | RCONFLICTS:mesa-megadriver = "mesa" |