diff options
Diffstat (limited to 'poky/meta/recipes-graphics/mesa/mesa.inc')
-rw-r--r-- | poky/meta/recipes-graphics/mesa/mesa.inc | 42 |
1 files changed, 32 insertions, 10 deletions
diff --git a/poky/meta/recipes-graphics/mesa/mesa.inc b/poky/meta/recipes-graphics/mesa/mesa.inc index 5838207e6..bb43a9a8b 100644 --- a/poky/meta/recipes-graphics/mesa/mesa.inc +++ b/poky/meta/recipes-graphics/mesa/mesa.inc @@ -10,7 +10,7 @@ HOMEPAGE = "http://mesa3d.org" BUGTRACKER = "https://bugs.freedesktop.org" SECTION = "x11" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://docs/license.html;md5=3a4999caf82cc503ac8b9e37c235782e" +LIC_FILES_CHKSUM = "file://docs/license.html;md5=c1843d93c460bbf778d6037ce324f9f7" PE = "2" @@ -46,6 +46,19 @@ export WANT_LLVM_RELEASE = "${MESA_LLVM_RELEASE}" MESA_LLVM_RELEASE ?= "${LLVMVERSION}" +# set the MESA_BUILD_TYPE to either 'release' (default) or 'debug' +# by default the upstream mesa sources build a debug release +# here we assume the user will want a release build by default +MESA_BUILD_TYPE ?= "release" +def check_buildtype(d): + _buildtype = d.getVar('MESA_BUILD_TYPE') + if _buildtype not in ['release', 'debug']: + bb.fatal("unknown build type (%s), please set MESA_BUILD_TYPE to either 'release' or 'debug'" % _buildtype) + if _buildtype == 'debug': + return 'debugoptimized' + return 'plain' +MESON_BUILDTYPE = "${@check_buildtype(d)}" + EXTRA_OEMESON = " \ -Dshared-glapi=true \ -Dgallium-opencl=disabled \ @@ -54,13 +67,13 @@ EXTRA_OEMESON = " \ " PACKAGECONFIG_class-target ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland vulkan', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium', '', d)} \ + ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'opengl egl gles gbm dri gallium virgl', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'x11 dri3', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 vulkan', 'dri3', '', d)} \ elf-tls \ " -PACKAGECONFIG_class-native ?= "gbm dri egl opengl elf-tls" -PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl elf-tls" +PACKAGECONFIG_class-native ?= "gbm dri egl opengl elf-tls x11" +PACKAGECONFIG_class-nativesdk ?= "gbm dri egl opengl elf-tls x11" PACKAGECONFIG_remove_libc-musl = "elf-tls" @@ -119,15 +132,19 @@ GALLIUMDRIVERS_LLVM33_ENABLED = "${@oe.utils.version_less_or_equal('MESA_LLVM_RE GALLIUMDRIVERS_LLVM = "r300,svga,nouveau${@',${GALLIUMDRIVERS_LLVM33}' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" PACKAGECONFIG[r600] = "" +PACKAGECONFIG[virgl] = "" GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'gallium-llvm', ',${GALLIUMDRIVERS_LLVM}', '', d)}" GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'r600', ',r600', '', d)}" -GALLIUMDRIVERS_append = ",virgl" +GALLIUMDRIVERS_append = "${@bb.utils.contains('PACKAGECONFIG', 'virgl', ',virgl', '', d)}" PACKAGECONFIG[gallium] = "-Dgallium-drivers=${GALLIUMDRIVERS}, -Dgallium-drivers=''" PACKAGECONFIG[gallium-llvm] = "-Dllvm=true -Dshared-llvm=true, -Dllvm=false, llvm${MESA_LLVM_RELEASE} llvm-native \ ${@'elfutils' if ${GALLIUMDRIVERS_LLVM33_ENABLED} else ''}" PACKAGECONFIG[xa] = "-Dgallium-xa=true, -Dgallium-xa=false" +PACKAGECONFIG[va] = "-Dgallium-va=true,-Dgallium-va=false,libva-initial" + +PACKAGECONFIG[vdpau] = "-Dgallium-vdpau=true,-Dgallium-vdpau=false,libvdpau" PACKAGECONFIG[lima] = "" GALLIUMDRIVERS_append ="${@bb.utils.contains('PACKAGECONFIG', 'lima', ',lima', '', d)}" @@ -147,6 +164,7 @@ EXTRA_OEMESON_append = " -Dasm=false" FULL_OPTIMIZATION_append = " -fno-omit-frame-pointer" CFLAGS_append_armv5 = " -DMISSING_64BIT_ATOMICS" +CFLAGS_append_armv6 = " -DMISSING_64BIT_ATOMICS" # Remove the mesa dependency on mesa-dev, as mesa is empty RDEPENDS_${PN}-dev = "" @@ -164,6 +182,7 @@ PACKAGES =+ "libegl-mesa libegl-mesa-dev \ libgles3-mesa libgles3-mesa-dev \ libxatracker libxatracker-dev \ mesa-megadriver mesa-vulkan-drivers \ + mesa-vdpau-drivers \ " do_install_append () { @@ -193,18 +212,20 @@ python __anonymous() { ("gles", "libgles3",)): if not p[0] in pkgconfig: continue - fullp = p[1] + "-mesa" - pkgs = " ".join(p[1:]) + mlprefix = d.getVar("MLPREFIX") + fullp = mlprefix + p[1] + "-mesa" + mlprefix = d.getVar("MLPREFIX") + pkgs = " ".join(mlprefix + x for x in p[1:]) d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") d.appendVar("RREPLACES_" + fullp, pkgs) d.appendVar("RPROVIDES_" + fullp, pkgs) d.appendVar("RCONFLICTS_" + fullp, pkgs) - d.appendVar("RRECOMMENDS_" + fullp, " mesa-megadriver") + d.appendVar("RRECOMMENDS_" + fullp, " ${MLPREFIX}mesa-megadriver") # For -dev, the first element is both the Debian and original name fullp += "-dev" - pkgs = p[1] + "-dev" + pkgs = mlprefix + p[1] + "-dev" d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1") d.appendVar("RREPLACES_" + fullp, pkgs) d.appendVar("RPROVIDES_" + fullp, pkgs) @@ -241,6 +262,7 @@ PACKAGES_DYNAMIC += "^mesa-driver-.*" FILES_mesa-megadriver = "${libdir}/dri/* ${datadir}/drirc.d/00-mesa-defaults.conf" FILES_mesa-vulkan-drivers = "${libdir}/libvulkan_*.so ${datadir}/vulkan" +FILES_${PN}-vdpau-drivers = "${libdir}/vdpau/*.so.*" FILES_libegl-mesa = "${libdir}/libEGL.so.*" FILES_libgbm = "${libdir}/libgbm.so.*" FILES_libgles1-mesa = "${libdir}/libGLESv1*.so.*" @@ -250,7 +272,7 @@ FILES_libglapi = "${libdir}/libglapi.so.*" FILES_libosmesa = "${libdir}/libOSMesa.so.*" FILES_libxatracker = "${libdir}/libxatracker.so.*" -FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan" +FILES_${PN}-dev = "${libdir}/pkgconfig/dri.pc ${includedir}/vulkan ${libdir}/vdpau/*.so" FILES_libegl-mesa-dev = "${libdir}/libEGL.* ${includedir}/EGL ${includedir}/KHR ${libdir}/pkgconfig/egl.pc" FILES_libgbm-dev = "${libdir}/libgbm.* ${libdir}/pkgconfig/gbm.pc ${includedir}/gbm.h" FILES_libgl-mesa-dev = "${libdir}/libGL.* ${includedir}/GL ${libdir}/pkgconfig/gl.pc" |