summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa/mesa.inc
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/mesa/mesa.inc')
-rw-r--r--meta/recipes-graphics/mesa/mesa.inc137
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"
17SRC_URI = "https://archive.mesa3d.org/mesa-${PV}.tar.xz \ 17SRC_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
25SRC_URI[sha256sum] = "c0d245dea0aa4b49f74b3d474b16542e4a8799791cd33d676c69f650ad4378d0" 24SRC_URI[sha256sum] = "cf942a18b7b9e9b88524dcbf0b31fed3cde18e6d52b3375b0ab6587a14415bce"
26PV = "25.0.5" 25PV = "25.1.1"
27 26
28UPSTREAM_CHECK_GITTAGREGEX = "mesa-(?P<pver>\d+(\.\d+)+)" 27UPSTREAM_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
40DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native" 43DEPENDS = "expat makedepend-native flex-native bison-native libxml2-native zlib chrpath-replacement-native python3-mako-native gettext-native python3-pyyaml-native"
41EXTRANATIVEPATH += "chrpath-native" 44EXTRANATIVEPATH += "chrpath-native"
42PROVIDES = " \ 45GLPROVIDES = " \
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"
50PROVIDES = " \
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):
70MESON_BUILDTYPE = "${@check_buildtype(d)}" 75MESON_BUILDTYPE = "${@check_buildtype(d)}"
71 76
72EXTRA_OEMESON = " \ 77EXTRA_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}"
104PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols" 108PACKAGECONFIG[wayland] = ",,wayland-native wayland libdrm wayland-protocols"
105 109
106VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}" 110VULKAN_DRIVERS_AMD = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',amd', '', d)}"
111VULKAN_DRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
107VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}" 112VULKAN_DRIVERS_INTEL = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',intel', '', d)}"
108VULKAN_DRIVERS_SWRAST = ",swrast" 113VULKAN_DRIVERS_SWRAST = ",swrast"
109# Crashes on x32 114# Crashes on x32
110VULKAN_DRIVERS_SWRAST:x86-x32 = "" 115VULKAN_DRIVERS_SWRAST:x86-x32 = ""
111VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_INTEL}" 116VULKAN_DRIVERS_LLVM = "${VULKAN_DRIVERS_SWRAST}${VULKAN_DRIVERS_AMD}${VULKAN_DRIVERS_ASAHI}${VULKAN_DRIVERS_INTEL}"
112 117
113VULKAN_DRIVERS = "" 118VULKAN_DRIVERS = ""
114VULKAN_DRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'freedreno', ',freedreno', '', d)}" 119VULKAN_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.
150PACKAGECONFIG[opencl] = " \ 155PACKAGECONFIG[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
156PACKAGECONFIG[broadcom] = "" 157PACKAGECONFIG[broadcom] = ""
157PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native" 158PACKAGECONFIG[etnaviv] = ",,python3-pycparser-native"
@@ -170,14 +171,14 @@ GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'vc4', ',vc4', ''
170GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}" 171GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'v3d', ',v3d', '', d)}"
171GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}" 172GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'zink', ',zink', '', d)}"
172 173
173# radeonsi requires LLVM 174GALLIUMDRIVERS_ASAHI = "${@bb.utils.contains('PACKAGECONFIG', 'asahi libclc opencl', ',asahi', '', d)}"
174GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}" 175GALLIUMDRIVERS_IRIS = "${@bb.utils.contains('PACKAGECONFIG', 'intel libclc', ',iris', '', d)}"
175GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}" 176GALLIUMDRIVERS_RADEONSI = "${@bb.utils.contains('PACKAGECONFIG', 'amd', ',radeonsi', '', d)}"
176GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe" 177GALLIUMDRIVERS_LLVMPIPE = ",llvmpipe"
177# llvmpipe crashes on x32 178# llvmpipe crashes on x32
178GALLIUMDRIVERS_LLVMPIPE:x86-x32 = "" 179GALLIUMDRIVERS_LLVMPIPE:x86-x32 = ""
179GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}" 180GALLIUMDRIVERS_SVGA = "${@bb.utils.contains('PACKAGECONFIG', 'svga', ',svga', '', d)}"
180GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}" 181GALLIUMDRIVERS_LLVM = ",r300,nouveau${GALLIUMDRIVERS_LLVMPIPE}${GALLIUMDRIVERS_ASAHI}${GALLIUMDRIVERS_IRIS}${GALLIUMDRIVERS_RADEONSI}${GALLIUMDRIVERS_SVGA}"
181 182
182PACKAGECONFIG[amd] = "" 183PACKAGECONFIG[amd] = ""
183PACKAGECONFIG[svga] = "" 184PACKAGECONFIG[svga] = ""
@@ -197,12 +198,13 @@ MESA_NATIVE:class-native = ""
197PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm" 198PACKAGECONFIG[gallium] = "-Dgallium-drivers=${@strip_comma('${GALLIUMDRIVERS}')}, -Dgallium-drivers='', libdrm"
198PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils" 199PACKAGECONFIG[gallium-llvm] = "-Dllvm=enabled -Dshared-llvm=enabled, -Dllvm=disabled, llvm llvm-native elfutils"
199PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}" 200PACKAGECONFIG[libclc] = "-Dmesa-clc=${MESA_CLC} -Dinstall-mesa-clc=${INSTALL_MESA_CLC} -Dmesa-clc-bundle-headers=enabled,,libclc spirv-tools spirv-llvm-translator ${MESA_NATIVE}"
200PACKAGECONFIG[xa] = "-Dgallium-xa=enabled, -Dgallium-xa=disabled"
201PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial" 201PACKAGECONFIG[va] = "-Dgallium-va=enabled,-Dgallium-va=disabled,libva-initial"
202PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau" 202PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=enabled,-Dgallium-vdpau=disabled,libvdpau"
203 203
204PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false" 204PACKAGECONFIG[imagination] = "-Dimagination-srv=true,-Dimagination-srv=false"
205 205
206PACKAGECONFIG[asahi] = ""
207
206PACKAGECONFIG[intel] = "" 208PACKAGECONFIG[intel] = ""
207GALLIUMDRIVERS:append = "${@bb.utils.contains('PACKAGECONFIG', 'intel', ',i915,crocus', '', d)}" 209GALLIUMDRIVERS: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
218PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false" 220PACKAGECONFIG[vulkan-beta] = "-Dvulkan-beta=true,-Dvulkan-beta=false"
219 221
220PACKAGECONFIG[osmesa] = "-Dosmesa=true,-Dosmesa=false"
221
222PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto" 222PACKAGECONFIG[perfetto] = "-Dperfetto=true,-Dperfetto=false,libperfetto"
223 223
224PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind" 224PACKAGECONFIG[unwind] = "-Dlibunwind=enabled,-Dlibunwind=disabled,libunwind"
@@ -228,6 +228,8 @@ PACKAGECONFIG[lmsensors] = "-Dlmsensors=enabled,-Dlmsensors=disabled,lmsensors"
228VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}" 228VIDEO_CODECS ?= "${@bb.utils.contains('LICENSE_FLAGS_ACCEPTED', 'commercial', 'all', 'all_free', d)}"
229PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''" 229PACKAGECONFIG[video-codecs] = "-Dvideo-codecs=${VIDEO_CODECS}, -Dvideo-codecs=''"
230 230
231PACKAGECONFIG[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)
232FULL_OPTIMIZATION:append = " -fno-omit-frame-pointer" 234FULL_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
238DEV_PKG_DEPENDENCY = "" 240DEV_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.
245RDEPENDS: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.
249RDEPENDS:libgles2-mesa += "libgles3-mesa" 244RPROVIDES:libgles2-mesa += "libgles3-mesa"
250ALLOW_EMPTY:libgles3-mesa = "1" 245RPROVIDES:libgles2-mesa-dev += "libgles3-mesa-dev"
251 246
252RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}" 247RDEPENDS:libopencl-mesa += "${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'libclc spirv-tools spirv-llvm-translator', '', d)}"
253 248
254PACKAGES =+ "libegl-mesa libegl-mesa-dev \ 249PACKAGES =+ "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.
279python __anonymous() { 272python __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
313python mesa_populate_packages() { 312python 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
337PACKAGESPLITFUNCS =+ "mesa_populate_packages" 333PACKAGESPLITFUNCS =+ "mesa_populate_packages"
@@ -349,25 +345,17 @@ FILES:libgles1-mesa = "${libdir}/libGLESv1*.so.*"
349FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*" 345FILES:libgles2-mesa = "${libdir}/libGLESv2.so.*"
350FILES:libgl-mesa = "${libdir}/libGL.so.*" 346FILES:libgl-mesa = "${libdir}/libGL.so.*"
351FILES:libglx-mesa = "${libdir}/libGLX*.so.*" 347FILES:libglx-mesa = "${libdir}/libGLX*.so.*"
352FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so.* ${libdir}/gallium-pipe/*.so ${sysconfdir}/OpenCL/vendors/*.icd" 348FILES:libopencl-mesa = "${libdir}/lib*OpenCL.so* ${sysconfdir}/OpenCL/vendors/*.icd"
353FILES:libglapi = "${libdir}/libglapi.so.*" 349FILES:libglapi = "${libdir}/libglapi.so.*"
354FILES:libosmesa = "${libdir}/libOSMesa.so.*"
355FILES:libxatracker = "${libdir}/libxatracker.so.*"
356 350
357FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" 351FILES:${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/GL/internal/dri_interface.h ${includedir}/vulkan ${libdir}/vdpau/*.so"
358FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" 352FILES:libegl-mesa-dev = "${libdir}/libEGL*.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc"
359FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" 353FILES:libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h ${includedir}/gbm_backend_abi.h"
360FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" 354FILES:libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL/*.h ${libdir}/pkgconfig/gl.pc"
361FILES:libglx-mesa-dev = "${libdir}/libGLX*.*"
362FILES:libglapi-dev = "${libdir}/libglapi.*" 355FILES:libglapi-dev = "${libdir}/libglapi.*"
363FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc" 356FILES:libgles1-mesa-dev = "${libdir}/libGLESv1*.* ${includedir}/GLES ${libdir}/pkgconfig/glesv1*.pc"
364FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${libdir}/pkgconfig/glesv2.pc" 357FILES:libgles2-mesa-dev = "${libdir}/libGLESv2.* ${includedir}/GLES2 ${includedir}/GLES3 ${libdir}/pkgconfig/glesv2.pc"
365FILES:libgles3-mesa-dev = "${includedir}/GLES3" 358FILES:libteflon = "${libdir}/libteflon.so"
366FILES:libopencl-mesa-dev = "${libdir}/lib*OpenCL.so"
367FILES:libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/GL/osmesa.h ${libdir}/pkgconfig/osmesa.pc"
368FILES: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
372FILES:${PN}-tools = "${bindir} ${datadir}" 360FILES:${PN}-tools = "${bindir} ${datadir}"
373ALLOW_EMPTY:${PN}-tools = "1" 361ALLOW_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
376INSANE_SKIP:${PN}-megadriver += "dev-so" 364INSANE_SKIP:${PN}-megadriver += "dev-so"
377 365
366# OpenCL ICDs package also ship correspondig .so files, there is no -dev package
367INSANE_SKIP:libopencl-mesa += "dev-so"
368
378# Fix upgrade path from mesa to mesa-megadriver 369# Fix upgrade path from mesa to mesa-megadriver
379RREPLACES:mesa-megadriver = "mesa" 370RREPLACES:mesa-megadriver = "mesa"
380RCONFLICTS:mesa-megadriver = "mesa" 371RCONFLICTS:mesa-megadriver = "mesa"