101 lines
3.8 KiB
Makefile
101 lines
3.8 KiB
Makefile
# SPDX-License-Identifier: GPL-2.0-or-later
|
|
# Copyright (C) 2009-2016 Stephan Raue (stephan@openelec.tv)
|
|
# Copyright (C) 2018-present Team LibreELEC (https://libreelec.tv)
|
|
|
|
PKG_NAME="mesa"
|
|
PKG_VERSION="22.1.7"
|
|
PKG_SHA256="da838eb2cf11d0e08d0e9944f6bd4d96987fdc59ea2856f8c70a31a82b355d89"
|
|
PKG_LICENSE="OSS"
|
|
PKG_SITE="http://www.mesa3d.org/"
|
|
PKG_URL="https://mesa.freedesktop.org/archive/mesa-${PKG_VERSION}.tar.xz"
|
|
PKG_DEPENDS_TARGET="toolchain expat libdrm Mako:host"
|
|
PKG_LONGDESC="Mesa is a 3-D graphics library with an API."
|
|
PKG_TOOLCHAIN="meson"
|
|
|
|
get_graphicdrivers
|
|
|
|
PKG_MESON_OPTS_TARGET="-Ddri-drivers=${DRI_DRIVERS// /,} \
|
|
-Dgallium-drivers=${GALLIUM_DRIVERS// /,} \
|
|
-Dgallium-extra-hud=false \
|
|
-Dgallium-xvmc=disabled \
|
|
-Dgallium-omx=disabled \
|
|
-Dgallium-nine=false \
|
|
-Dgallium-opencl=disabled \
|
|
-Dvulkan-drivers= \
|
|
-Dshader-cache=enabled \
|
|
-Dshared-glapi=enabled \
|
|
-Dopengl=true \
|
|
-Dgbm=enabled \
|
|
-Degl=enabled \
|
|
-Dvalgrind=disabled \
|
|
-Dlibunwind=disabled \
|
|
-Dlmsensors=disabled \
|
|
-Dbuild-tests=false \
|
|
-Dselinux=false \
|
|
-Dosmesa=false"
|
|
|
|
if [ "${DISPLAYSERVER}" = "x11" -a ! "${PROJECT}" = "L4T" ]; then
|
|
PKG_DEPENDS_TARGET+=" xorgproto libXext libXdamage libXfixes libXxf86vm libxcb libX11 libxshmfence libXrandr libglvnd"
|
|
export X11_INCLUDES=
|
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms=x11 -Ddri3=enabled -Dglx=dri -Dglx-direct=true -Dglvnd=true"
|
|
elif [ "${DISPLAYSERVER}" = "weston" ]; then
|
|
PKG_DEPENDS_TARGET+=" wayland wayland-protocols"
|
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms=wayland -Ddri3=disabled -Dglx=disabled -Dglvnd=false"
|
|
elif [ "${DISTRO}" = "Lakka" -o "${PROJECT}" = "L4T" ]; then
|
|
PKG_DEPENDS_TARGET+=" libglvnd"
|
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms="" -Ddri3=enabled -Dglx=disabled -Dglvnd=true"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dplatforms="" -Ddri3=disabled -Dglx=disabled -Dglvnd=false"
|
|
fi
|
|
|
|
if [ "${LLVM_SUPPORT}" = "yes" ]; then
|
|
echo LLVM SUPPORT
|
|
PKG_DEPENDS_TARGET+=" elfutils llvm"
|
|
PKG_MESON_OPTS_TARGET+=" -Dllvm=enabled"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dllvm=disabled"
|
|
fi
|
|
|
|
if [ "${VDPAU_SUPPORT}" = "yes" -a "${DISPLAYSERVER}" = "x11" ]; then
|
|
PKG_DEPENDS_TARGET+=" libvdpau"
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-vdpau=enabled"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-vdpau=disabled"
|
|
fi
|
|
|
|
if [ "${VAAPI_SUPPORT}" = "yes" ] && listcontains "${GRAPHIC_DRIVERS}" "(r600|radeonsi)"; then
|
|
PKG_DEPENDS_TARGET+=" libva"
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-va=enabled"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-va=disabled"
|
|
fi
|
|
|
|
if listcontains "${GRAPHIC_DRIVERS}" "vmware" || listcontains "${GRAPHIC_DRIVERS}" "freedreno"; then
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-xa=enabled"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dgallium-xa=disabled"
|
|
fi
|
|
|
|
if [ "${OPENGLES_SUPPORT}" = "yes" ]; then
|
|
PKG_MESON_OPTS_TARGET+=" -Dgles1=disabled -Dgles2=enabled"
|
|
else
|
|
PKG_MESON_OPTS_TARGET+=" -Dgles1=disabled -Dgles2=disabled"
|
|
fi
|
|
|
|
if [ "${VULKAN_SUPPORT}" = "yes" ]; then
|
|
PKG_DEPENDS_TARGET+=" $VULKAN"
|
|
if [ "${PROJECT}" = "Generic" -a "${ARCH}" = "x86_64" ]; then
|
|
PKG_MESON_OPTS_TARGET="${PKG_MESON_OPTS_TARGET//-Dvulkan-drivers=/-Dvulkan-drivers=amd,intel}"
|
|
elif [ "${PROJECT}" = "RPi" -a "${DEVICE:0:4}" = "RPi4" ]; then
|
|
PKG_MESON_OPTS_TARGET="${PKG_MESON_OPTS_TARGET//-Dvulkan-drivers=/-Dvulkan-drivers=broadcom}"
|
|
elif listcontains "${GRAPHIC_DRIVERS}" "freedreno"; then
|
|
PKG_MESON_OPTS_TARGET="${PKG_MESON_OPTS_TARGET//-Dvulkan-drivers=/-Dvulkan-drivers=freedreno}"
|
|
fi
|
|
fi
|
|
|
|
post_makeinstall_target() {
|
|
if [ "${PROJECT}" = "L4T" ]; then
|
|
rm ${INSTALL}/usr/lib/libgbm.so.1
|
|
fi
|
|
}
|