mirror of
https://github.com/openwrt/video.git
synced 2026-05-31 06:51:54 +08:00
9e78fb7a91
Bump mesa from 25.2.4 to latest stable point release in the 26.0.x
series.
Drop 001-gallivm-support-LLVM-21.patch which has been merged
upstream. Refresh the remaining downstream patches
(100-meson-allow-using-LLVM-as-embedded-project,
200-panfrost-Enable-cross-compilation-of-precompilers-on) for
the new upstream context.
Add +libdisplay-info to the DEPENDS of every libvulkan-* package
(broadcom, imagination, intel, intel-hasvk, lvp, panfrost, radeon,
virtio): Mesa 26.0 unconditionally pulls libdisplay-info into the
WSI Vulkan path on Linux (gated only by host_machine.system() ==
'windows'), so every ICD now NEEDED-links libdisplay-info.so.3
and OpenWrt's shlibs check rejects packages without the explicit
dependency. libvulkan-nouveau is @BROKEN (needs Rust) so it does
not get touched.
The 'imagination-experimental' vulkan-drivers value got renamed to
plain 'imagination' in Mesa 26; update the VULKAN_DRIVERS entry
accordingly.
Add 'imagination' to the host build's -Dtools= list so the
PowerVR pco_clc precompiler is built and installed into
$(STAGING_DIR_HOSTPKG)/bin/ during the host-build stage. The
target vulkan variant uses -Dprecomp-compiler=system and looks
the binary up there via find_program('pco_clc', native:true);
without this, the target configure stage fails with
"Program 'pco_clc' not found or not executable" as soon as the
imagination vulkan driver enters the gallium tree.
New packages:
* libvulkan-virtio: the venus virtio-gpu Vulkan ICD, useful for
VM/container guests forwarding Vulkan to a host GPU. Mirrors the
libvulkan-lvp install pattern. Wired via VULKAN_DRIVERS+=virtio.
* libteflon-rocket and libteflon-etnaviv: two flavours of mesa's
"teflon" TensorFlow Lite delegate. teflon links one or more NPU
back-ends from gallium into a libteflon.so that TFLite loads as
an external delegate. The two variants here cover the NPU silicon
found on OpenWrt-supported hardware:
- rocket: Rockchip RKNPU on RK3566 / RK3568 / RK3588(s)
(rockchip/armv8 target).
- etnaviv: VeriSilicon VIP9000-class NPU on NXP i.MX 8M Plus and
i.MX 95 (imx/cortexa53 target).
The Arm Ethos-U back-end is omitted; it targets Cortex-M55 MCUs
which OpenWrt does not run on.
Each variant is its own VARIANT= mesa build with
-Dgallium-drivers=<rocket|etnaviv> -Dteflon=true; both produce
/usr/lib/libteflon.so so the two packages declare each other as
CONFLICTS (typical OpenWrt mesa-variant pattern).
A small downstream patch (300-teflon-conditional-npu-drivers.patch)
adjusts src/gallium/targets/teflon/meson.build so that the
driver_etnaviv / driver_rocket / driver_ethosu link_with entries
are conditional on with_gallium_<X> instead of unconditional.
Without it, building libteflon with only one back-end fails because
the other driver_X meson variables are undefined when the
corresponding gallium-driver is not selected.
Add 400-gallivm-lp-bld-misc-auto-iter-llvm22.patch to fix the
32-bit ARM build with the new LLVM 22. lp_bld_misc.cpp's
DETECT_ARCH_ARM branch (only reached on ARM-32) iterates the
feature StringMap with an explicit 'llvm::StringMapIterator<bool>'
type, which LLVM 22 renamed to 'llvm::StringMapIterBase<T, bool>'.
Use 'auto' for the iterator declaration so the code works
regardless of the LLVM major. Other targets (aarch64, x86,
x86_64, mips, ppc, riscv) are unaffected because the failing
loop is gated on DETECT_ARCH_ARM.
Disable -Dllvm and -Ddraw-use-llvm in the per-variant MESON_ARGS
for the gallium drivers where the aux 'draw' module is *dead
code*: softpipe, broadcom (vc4/v3d), lima, etnaviv,
teflon-rocket and teflon-etnaviv. Confirmed by inspecting
26.0.6 source: each of v3d, vc4, lima, etnaviv, panfrost (and
the NPU-only rocket/etnaviv teflon paths) registers its own
pipe_context->draw_vbo and never calls any draw_* aux-module
function (0 draw_create, 0 draw_set_so_targets, 0
draw_set_indirect_buffer, 0 draw_*_geometry, 0 src includes of
draw/*.h apart from one unused header in pan_screen.c).
Transform feedback, geometry shaders and indirect draws are
handled either in hardware or via the driver's own compute path,
never through the aux-draw module. softpipe and llvmpipe are the
only consumers of the aux-draw module; mesa.meson.build also
forces draw-use-llvm=true for llvmpipe/lavapipe/i915/r300-x86.
Net effect on libgallium-26.0.6.so, measured on
arm_cortex-a7+neon-vfpv4 (mediatek/mt7623):
variant libgallium before libgallium after .apk after
----------------------------------------------------------------
softpipe 57.7 MB 16 MB 2.9 MB
broadcom 57.7 MB 16 MB 3.2 MB
lima 57.7 MB 16 MB 3.0 MB
etnaviv 57.7 MB 16 MB 2.9 MB
teflon-rocket ~57 MB ~16 MB varies
teflon-etnaviv ~57 MB ~16 MB varies
llvmpipe 57.9 MB 55-56 MB 15 MB (unchanged - keeps LLVM)
LLVM-related strings in the LLVM-disabled variants drop from
208/220 to 5 (just stub strings that survive in the no-LLVM
draw path). The 41 MB removed from each was statically-linked
LLVM JIT that no code path in those drivers ever executed.
Relax the build-time dependency on llvm-mesa: a user who
selects only LLVM-free Mesa variants (softpipe/broadcom/lima/
etnaviv/teflon-*) no longer needs to build the entire llvm-mesa
package (which can take 30+ minutes from source). MESA_USE_LLVM
remains a user-visible toggle (defaults y for backward compat).
With CONFIG_MESA_USE_LLVM=n:
* HOST_BUILD_DEPENDS drops the unconditional 'llvm' (now
MESA_USE_LLVM:llvm), matching PKG_BUILD_DEPENDS.
* MESON_HOST_ARGS skips -Dllvm/-Dmesa-clc/-Dprecomp-compiler/
-Dstatic-libclc/-Dinstall-mesa-clc/-Dinstall-precomp-compiler
and trims -Dtools to just 'nir'.
* Host/Configure factors its LLVM-subproject linkage into a
Host/Configure/LLVMMesa hook, mirroring the existing
Build/Configure/LLVMMesa pattern.
Tested locally on arm_cortex-a7+neon-vfpv4 (mediatek/mt7623):
* MESA_USE_LLVM=y, libmesa-softpipe + libmesa-llvmpipe: builds
llvm-mesa, then mesa softpipe (38s, no-LLVM libgallium) and
llvmpipe (42s, LLVM-linked libgallium 56 MB). All correct.
* MESA_USE_LLVM=n, libmesa-softpipe only: 0 llvm/compile
invocations, 0 mesa/host-compile invocations, total mesa
build time 38s. libmesa-softpipe .apk identical (2.9 MB) to
the MESA_USE_LLVM=y case.
Link: https://docs.mesa3d.org/relnotes/26.0.6.html
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
870 lines
26 KiB
Makefile
870 lines
26 KiB
Makefile
include $(TOPDIR)/rules.mk
|
||
|
||
PKG_NAME:=mesa
|
||
PKG_VERSION:=26.0.6
|
||
PKG_RELEASE:=1
|
||
|
||
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.xz
|
||
PKG_SOURCE_URL:=https://archive.mesa3d.org/
|
||
PKG_HASH:=1d3c3b8a8363b8cc354175bb4a684ad8b035211cc1d6fa17aeb9b9623c513f89
|
||
|
||
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
|
||
PKG_LICENSE:=BSD-3-Clause
|
||
|
||
PKG_INSTALL:=1
|
||
|
||
PKG_BUILD_DEPENDS:=glslang/host python3/host libva vulkan-headers \
|
||
MESA_USE_LLVM:llvm MESA_USE_LLVM:mesa/host
|
||
|
||
HOST_BUILD_DEPENDS:=python3/host spirv-tools/host MESA_USE_LLVM:llvm
|
||
|
||
PKG_CONFIG_DEPENDS:= \
|
||
CONFIG_PACKAGE_libmesa-amd \
|
||
CONFIG_PACKAGE_libmesa-intel \
|
||
CONFIG_PACKAGE_libmesa-tegra \
|
||
CONFIG_PACKAGE_libmesa-etnaviv \
|
||
CONFIG_PACKAGE_libmesa-broadcom \
|
||
CONFIG_PACKAGE_libmesa-nouveau \
|
||
CONFIG_PACKAGE_libmesa-lima \
|
||
CONFIG_PACKAGE_libmesa-panfrost \
|
||
CONFIG_PACKAGE_libmesa-virgl \
|
||
CONFIG_PACKAGE_libmesa-zink \
|
||
CONFIG_PACKAGE_libmesa-softpipe \
|
||
CONFIG_PACKAGE_libmesa-llvmpipe \
|
||
CONFIG_PACKAGE_libvulkan-broadcom \
|
||
CONFIG_PACKAGE_libvulkan-imagination \
|
||
CONFIG_PACKAGE_libvulkan-intel \
|
||
CONFIG_PACKAGE_libvulkan-intel-hasvk \
|
||
CONFIG_PACKAGE_libvulkan-lvp \
|
||
CONFIG_PACKAGE_libvulkan-nouveau \
|
||
CONFIG_PACKAGE_libvulkan-panfrost \
|
||
CONFIG_PACKAGE_libvulkan-radeon \
|
||
CONFIG_PACKAGE_libvulkan-virtio \
|
||
CONFIG_PACKAGE_libteflon-rocket \
|
||
CONFIG_PACKAGE_libteflon-etnaviv
|
||
|
||
TARGET_CPPFLAGS+=-Wno-format -Wno-format-security
|
||
|
||
PYTHON3_PKG_BUILD:=0
|
||
MESON_USE_STAGING_PYTHON:=1
|
||
HOST_PYTHON3_PACKAGE_BUILD_DEPENDS:=./host-pip-requirements.txt
|
||
|
||
include $(TOPDIR)/feeds/packages/lang/rust/rust-values.mk
|
||
include $(INCLUDE_DIR)/package.mk
|
||
include $(INCLUDE_DIR)/host-build.mk
|
||
include $(TOPDIR)/feeds/packages/lang/python/python3-package.mk
|
||
include $(INCLUDE_DIR)/meson.mk
|
||
|
||
MESON_HOST_VARS += PYTHONPATH="$(HOST_PYTHON3PATH)"
|
||
MESON_VARS += PYTHONPATH="$(HOST_PYTHON3PATH)"
|
||
|
||
TARGET_LDFLAGS += -Wl,--gc-sections,--as-needed
|
||
|
||
define Package/mesa/Default
|
||
SECTION:=libs
|
||
CATEGORY:=Libraries
|
||
SUBMENU:=Video
|
||
DEPENDS:=+libatomic
|
||
TITLE:=Mesa3D
|
||
URL:=https://www.mesa3d.org
|
||
endef
|
||
|
||
define Package/mesa3d
|
||
$(call Package/mesa/Default)
|
||
HIDDEN:=1
|
||
endef
|
||
|
||
define Package/mesa3d/config
|
||
config HAVE_MESA
|
||
bool
|
||
default y
|
||
|
||
config MESA_USE_LLVM
|
||
bool "Use LLVM to build MESA"
|
||
depends on aarch64||arm||i386||i686||loongarch64||mips||mipsel||mips64||mips64el||riscv64||x86_64
|
||
default y
|
||
help
|
||
Build LLVM (the heavy 'llvm-mesa' static archive) and link it
|
||
into the LLVM-using Mesa variants (amd, intel, tegra, nouveau,
|
||
panfrost, virgl, zink, llvmpipe and all libvulkan-*). When
|
||
disabled, only the LLVM-free variants (softpipe, broadcom,
|
||
lima, etnaviv, libteflon-*) are buildable, but the llvm-mesa
|
||
build is skipped entirely - much faster source builds at the
|
||
cost of losing the LLVM-using variants.
|
||
endef
|
||
|
||
define Package/libmesa/Default
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libstdcpp +zlib +libdrm +libsensors +libwayland +libzstd \
|
||
+wayland-protocols
|
||
PROVIDES:=libmesa
|
||
TITLE+= OpenGL and friends
|
||
endef
|
||
|
||
|
||
define Package/libmesa-amd
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (AMD)
|
||
DEPENDS+=+libdrm-amdgpu +libdrm-radeon +libelf @MESA_USE_LLVM
|
||
VARIANT:=amd
|
||
endef
|
||
|
||
define Package/libmesa-amd/description
|
||
A collection of drivers for AMD Radeon dedicated GPUs.
|
||
|
||
AMD R300
|
||
|
||
The R300 driver supports AMD's Radeon R300 GPU series.
|
||
|
||
AMD R600
|
||
|
||
The R600 driver supports AMD's Radeon HD 2000 GPU series. It's
|
||
officially supported by AMD.
|
||
|
||
AMD RadeonSI
|
||
|
||
The RadeonSI OpenGL driver supports AMD's Southern Island GPUs and
|
||
later. It's officially supported by AMD.
|
||
endef
|
||
|
||
define Package/libmesa-intel
|
||
$(call Package/libmesa/Default)
|
||
DEPENDS+=+libdrm-intel @(i386||i686||x86_64) @MESA_USE_LLVM
|
||
TITLE+= (Intel)
|
||
VARIANT:=intel
|
||
endef
|
||
|
||
define Package/libmesa-intel/description
|
||
A collection of drivers for GPUs embedded in Intel's CPUs.
|
||
|
||
Intel Iris
|
||
|
||
The Iris driver supports Intel's Gen 8 hardware and later. It's
|
||
officially supported by Intel and is their next-generation Linux OpenGL
|
||
driver.
|
||
|
||
Intel Crocus
|
||
|
||
The Crocus driver supports Intel's Gen 7 hardware and earlier. It's
|
||
based on Iris and the former i965 driver, but is not officially
|
||
supported or endorsed by Intel.
|
||
|
||
Intel i915
|
||
|
||
The i915 driver supports older Intel i915 and i945 chipsets.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-tegra
|
||
$(call Package/libmesa/Default)
|
||
DEPENDS+=+libdrm-tegra @(aarch64||arm) @MESA_USE_LLVM
|
||
TITLE+= (NVIDIA Tegra)
|
||
VARIANT:=tegra
|
||
endef
|
||
|
||
define Package/libmesa-tegra/description
|
||
The Nouveau driver built for GPUs embedded in the Tegra SoC family. It's
|
||
a reverse-engineered, community-developed driver, and is not endorsed by
|
||
NVIDIA.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-etnaviv
|
||
$(call Package/libmesa/Default)
|
||
DEPENDS+=+libdrm-etnaviv @(aarch64||arm||mips||mips64||mipsel||mips64el||riscv64)
|
||
TITLE+= (Vivante)
|
||
VARIANT:=etnaviv
|
||
endef
|
||
|
||
define Package/libmesa-etnaviv/description
|
||
The Etnaviv driver supports the Vivante GCxxx series of embedded GPUs.
|
||
It's a reverse-engineered, community-developed driver, and is not
|
||
endorsed by Vivante.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-nouveau
|
||
$(call Package/libmesa/Default)
|
||
DEPENDS+=+libdrm-nouveau @MESA_USE_LLVM
|
||
TITLE+= (NVIDIA)
|
||
VARIANT:=nouveau
|
||
endef
|
||
|
||
define Package/libmesa-nouveau/description
|
||
The Nouveau drivers supports a large set of NVIDIA chips, ranging from
|
||
NV04 found in the Riva TNT card to NVF0 found in the GeForce GTX 780.
|
||
It's a reverse-engineered, community-developed driver, and is not
|
||
endorsed by NVIDIA.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-broadcom
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (Broadcom)
|
||
VARIANT:=broadcom
|
||
DEPENDS+=+libarchive @(aarch64||arm) @HAS_FPU
|
||
endef
|
||
|
||
define Package/libmesa-broadcom/description
|
||
Mesa’s VC4 graphics driver supports multiple implementations of
|
||
Broadcom's VideoCore IV GPU. It is notably used in the Raspberry Pi 0
|
||
through Raspberry Pi 3 hardware.
|
||
Along with GLES 2.0, the Mesa driver also exposes OpenGL 2.1, which is
|
||
mostly correct but with a few caveats.
|
||
|
||
Mesa’s V3D graphics driver stack includes a conformant GLES3.1 driver
|
||
called V3D, notably used on the Raspberry Pi 4 and Raspberry Pi 5.
|
||
|
||
This package contains both, VC4 and V3D drivers and covers all
|
||
RaspberryPi boards.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-lima
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (ARM Mali Utgard)
|
||
VARIANT:=lima
|
||
DEPENDS+=@(aarch64||arm)
|
||
endef
|
||
|
||
define Package/libmesa-lima/description
|
||
Lima is an open source graphics driver which supports Mali Utgard
|
||
(Mali-4xx) embedded GPUs from ARM. It's a reverse-engineered,
|
||
community-developed driver, and is not endorsed by ARM. Lima was
|
||
upstreamed in Mesa 19.1 and Linux kernel 5.2.
|
||
|
||
Product Architecture Status
|
||
Mali-400 Utgard Supported
|
||
Mali-450 Utgard Supported
|
||
Mali-470 Utgard Unsupported
|
||
|
||
Newer Mali chips based on the Midgard/Bifrost architectures (Mali T or G
|
||
series) are handled by the Panfrost driver, not Lima.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-panfrost
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (ARM Mali Midgard and later)
|
||
VARIANT:=panfrost
|
||
DEPENDS+=@(aarch64||arm) @MESA_USE_LLVM
|
||
endef
|
||
|
||
define Package/libmesa-panfrost/description
|
||
The Panfrost driver stack includes an OpenGL ES implementation for Arm
|
||
Mali GPUs based on the Midgard, Bifrost and Valhall microarchitectures.
|
||
It is conformant on Mali-G52, Mali-G57 and Mali-G610, but non-conformant
|
||
on other GPUs. The following hardware is currently supported:
|
||
|
||
Models Architecture OpenGL ES OpenGL
|
||
T600, T620, T720 Midgard (v4) 2.0 2.1
|
||
T760, T820, T830 T860, T880 Midgard (v5) 3.1 3.1
|
||
G72 Bifrost (v6) 3.1 3.1
|
||
G31, G51, G52, G76 Bifrost (v7) 3.1 3.1
|
||
G57 Valhall (v9) 3.1 3.1
|
||
G310, G610 Valhall (v10) 3.1 3.1
|
||
|
||
Other Midgard and Bifrost chips (e.g. G71) are not yet supported.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-virgl
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (VirtIO GL)
|
||
VARIANT:=virgl
|
||
endef
|
||
|
||
define Package/libmesa-virgl/description
|
||
VirGL is a virtual 3D GPU for use inside QEMU virtual machines, that
|
||
allows the guest operating system to use the capabilities of the host
|
||
GPU to accelerate 3D rendering. The plan is to have a guest GPU that is
|
||
fully independent of the host GPU.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-zink
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (Zink GL via Vulkan)
|
||
VARIANT:=vulkan
|
||
DEPENDS+=@MESA_USE_LLVM
|
||
endef
|
||
|
||
define Package/libmesa-zink/description
|
||
The Zink driver is a Gallium driver that emits Vulkan API calls instead
|
||
of targeting a specific GPU architecture. This can be used to get full
|
||
desktop OpenGL support on devices that only support Vulkan.
|
||
endef
|
||
|
||
|
||
define Package/libmesa-softpipe
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (Softpipe)
|
||
VARIANT:=softpipe
|
||
DEFAULT_VARIANT:=1
|
||
endef
|
||
|
||
define Package/libmesa-softpipe/description
|
||
The Softpipe driver is a reference software rasterizer; it's slow but
|
||
accurate. It's mostly useful for testing, and on systems that lack
|
||
support for LLVM.
|
||
endef
|
||
|
||
define Package/libmesa-llvmpipe
|
||
$(call Package/libmesa/Default)
|
||
TITLE+= (LLVMpipe)
|
||
DEPENDS+=@MESA_USE_LLVM
|
||
VARIANT:=llvmpipe
|
||
endef
|
||
|
||
define Package/libmesa-llvmpipe/description
|
||
The Gallium LLVMpipe driver is a software rasterizer that uses LLVM to
|
||
do runtime code generation. Shaders, point/line/triangle rasterization
|
||
and vertex processing are implemented with LLVM IR which is translated
|
||
to native CPU machine code. Also, the driver is multithreaded to take
|
||
advantage of multiple CPU cores (up to 32 at this time). It's the
|
||
fastest software rasterizer for Mesa.
|
||
endef
|
||
|
||
|
||
define Package/libvulkan-broadcom
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libdisplay-info +libdrm +libexpat +libstdcpp +libudev +libwayland +libzstd +zlib \
|
||
@(arm||aarch64) @HAS_FPU
|
||
TITLE+= Broadcom Vulkan driver
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-broadcom/description
|
||
V3DV Vulkan graphics driver, notably used on the Raspberry Pi 4 and
|
||
Raspberry Pi 5.
|
||
endef
|
||
|
||
define Package/libvulkan-imagination
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libatomic +libdisplay-info +libdrm +libexpat +libstdcpp +libudev +libwayland +libzstd \
|
||
+zlib @(aarch64||arm||mips||mips64||mipsel||mips64el||riscv64)
|
||
TITLE+= Imagination PowerVR driver (EXPERIMENTAL)
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-imagination/description
|
||
PowerVR is a Vulkan driver for Imagination Technologies PowerVR GPUs,
|
||
starting with those based on the Rogue architecture.
|
||
|
||
The driver is not yet fully conformant so it requires exporting
|
||
PVR_I_WANT_A_BROKEN_VULKAN_DRIVER=1 to the environment before running
|
||
any Vulkan content.
|
||
|
||
The following hardware is currently in active development:
|
||
|
||
Product Series B.V.N.C Vulkan Conformant
|
||
GX6250 Series 6XT 4.40.2.51 1.0 No
|
||
AXE-1-16M A-Series 33.15.11.3 1.0 No
|
||
BXS-4-64 B-Series 36.53.104.796 1.0 No
|
||
endef
|
||
|
||
define Package/libvulkan-intel
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libdisplay-info +libdrm-intel +libexpat +libstdcpp +libudev +libwayland +libzstd +zlib \
|
||
@(i386||i686||x86_64) @MESA_USE_LLVM
|
||
TITLE+= Intel Gen9+ Vulkan driver
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-intel/description
|
||
Intel ANV for Skylake "Gen9" and newer graphics. It's officially
|
||
supported by Intel and is their official Vulkan driver for Linux.
|
||
endef
|
||
|
||
define Package/libvulkan-intel-hasvk
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libdisplay-info +libdrm-intel +libexpat +libstdcpp +libudev +libwayland +libzstd +zlib \
|
||
@(i386||i686||x86_64) @MESA_USE_LLVM
|
||
TITLE+= Intel Gen7/Gen8 Vulkan driver
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-intel-hasvk/description
|
||
The ANV vulkan driver supports Intel's Gen 7/8 hardware. It's officially
|
||
supported by Intel and is their official Vulkan driver for Linux.
|
||
endef
|
||
|
||
define Package/libvulkan-lvp
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libatomic +libdisplay-info +libdrm +libstdcpp +libudev +libwayland +libzstd +zlib @MESA_USE_LLVM
|
||
TITLE+= LLVM JIT CPU rendering Vulkan driver
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-lvp/description
|
||
The Vulkan LLVMpipe driver is a software rasterizer that uses LLVM to do
|
||
runtime code generation.
|
||
endef
|
||
|
||
define Package/libvulkan-nouveau
|
||
$(call Package/mesa/Default)
|
||
TITLE+= nouveau Vulkan driver for nVidia GPUs
|
||
DEPENDS+=$(RUST_ARCH_DEPENDS) @MESA_USE_LLVM @BROKEN
|
||
VARIANT:=vulkan
|
||
# needs rust-bindgen which currently can't be built
|
||
endef
|
||
|
||
define Package/libvulkan-nouveau/description
|
||
NVK is a Vulkan driver for NVIDIA GPUs.
|
||
|
||
NVK currently supports Turing (RTX 20XX and GTX 16XX) and later GPUs.
|
||
Eventually, we plan to support as far back as Kepler (GeForce 600 and
|
||
700 series) GPUs but anything pre-Turing is currently disabled by
|
||
default.
|
||
endef
|
||
|
||
define Package/libvulkan-panfrost
|
||
$(call Package/mesa/Default)
|
||
DEPENDS+=+libdisplay-info +libdrm +libexpat +libstdcpp +libudev +libwayland +libzstd +zlib \
|
||
@(arm||aarch64) @MESA_USE_LLVM
|
||
TITLE+= ARM Mali Midgard/Bifrost/Valhall Vulkan driver
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-panfrost/description
|
||
The PanVk driver is an Open Source Vulkan driver for ARM Mali Midgard
|
||
and Bifrost GPUs.
|
||
endef
|
||
|
||
define Package/libvulkan-radeon
|
||
$(call Package/mesa/Default)
|
||
TITLE+= AMD Radeon Vulkan driver
|
||
DEPENDS+=+libdisplay-info +libdrm-amdgpu +libelf +libexpat +libstdcpp +libudev +libwayland \
|
||
+libzstd +zlib @MESA_USE_LLVM
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-radeon/description
|
||
RADV is a Vulkan driver for AMD GCN/RDNA GPUs.
|
||
endef
|
||
|
||
define Package/libvulkan-virtio
|
||
$(call Package/mesa/Default)
|
||
TITLE+= virtio-gpu Vulkan driver (venus)
|
||
DEPENDS+=+libdisplay-info +libdrm +libstdcpp +libudev +libwayland +libzstd +zlib
|
||
VARIANT:=vulkan
|
||
endef
|
||
|
||
define Package/libvulkan-virtio/description
|
||
Venus is a Vulkan driver for virtio-gpu, used inside virtual machines
|
||
to forward Vulkan API calls to a Vulkan-capable GPU on the host via
|
||
the virtio-gpu transport.
|
||
endef
|
||
|
||
define Package/libteflon-rocket
|
||
$(call Package/mesa/Default)
|
||
TITLE+= TFLite delegate for Rockchip RKNPU (rocket)
|
||
DEPENDS+=+libdrm +libexpat @aarch64
|
||
VARIANT:=teflon-rocket
|
||
CONFLICTS:=libteflon-etnaviv
|
||
endef
|
||
|
||
define Package/libteflon-rocket/description
|
||
Mesa's "teflon" TensorFlow Lite delegate, built with the Rockchip
|
||
RKNPU (rocket) backend. Provides hardware-accelerated TFLite
|
||
inference on Rockchip RK3566 / RK3568 / RK3588(s) NPUs.
|
||
endef
|
||
|
||
define Package/libteflon-etnaviv
|
||
$(call Package/mesa/Default)
|
||
TITLE+= TFLite delegate for VeriSilicon NPU (etnaviv)
|
||
DEPENDS+=+libdrm-etnaviv +libexpat +libzstd +zlib @aarch64
|
||
VARIANT:=teflon-etnaviv
|
||
CONFLICTS:=libteflon-rocket
|
||
endef
|
||
|
||
define Package/libteflon-etnaviv/description
|
||
Mesa's "teflon" TensorFlow Lite delegate, built with the etnaviv
|
||
backend for VeriSilicon VIP9000-class NPUs (e.g. NXP i.MX 8M Plus,
|
||
i.MX 95).
|
||
endef
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-broadcom),)
|
||
VULKAN_DRIVERS+=broadcom
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-imagination),)
|
||
VULKAN_DRIVERS+=imagination
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-intel),)
|
||
VULKAN_DRIVERS+=intel
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-intel-hasvk),)
|
||
VULKAN_DRIVERS+=intel_hasvk
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-lvp),)
|
||
VULKAN_DRIVERS+=swrast
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-nouveau),)
|
||
VULKAN_DRIVERS+=nouveau
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-panfrost),)
|
||
VULKAN_DRIVERS+=panfrost
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-radeon),)
|
||
VULKAN_DRIVERS+=amd
|
||
endif
|
||
|
||
ifneq ($(CONFIG_PACKAGE_libvulkan-virtio),)
|
||
VULKAN_DRIVERS+=virtio
|
||
endif
|
||
|
||
MESON_HOST_ARGS += \
|
||
-Dplatforms= \
|
||
-Dglx=disabled \
|
||
-Degl=disabled \
|
||
-Dgbm=disabled \
|
||
-Dgles1=disabled \
|
||
-Dgles2=disabled \
|
||
-Dglvnd=disabled \
|
||
-Dopengl=false \
|
||
-Dandroid-stub=false \
|
||
-Dlibunwind=disabled \
|
||
-Dvalgrind=disabled \
|
||
-Dgallium-drivers= \
|
||
-Dvulkan-drivers= \
|
||
-Dshared-llvm=disabled \
|
||
-Ddraw-use-llvm=false \
|
||
-Dintel-elk=true
|
||
|
||
ifneq ($(CONFIG_MESA_USE_LLVM),)
|
||
MESON_HOST_ARGS += \
|
||
-Dtools=nir,imagination \
|
||
-Dllvm=enabled \
|
||
-Dmesa-clc=enabled \
|
||
-Dprecomp-compiler=enabled \
|
||
-Dstatic-libclc=all \
|
||
-Dinstall-mesa-clc=true \
|
||
-Dinstall-precomp-compiler=true
|
||
else
|
||
MESON_HOST_ARGS += \
|
||
-Dtools=nir \
|
||
-Dllvm=disabled \
|
||
-Dmesa-clc=disabled \
|
||
-Dprecomp-compiler=disabled
|
||
endif
|
||
|
||
MESON_ARGS += \
|
||
-Dplatforms=wayland \
|
||
-Dglx=disabled \
|
||
-Degl=enabled \
|
||
-Dgbm=enabled \
|
||
-Dgles1=enabled \
|
||
-Dgles2=enabled \
|
||
-Dglvnd=disabled \
|
||
-Dopengl=true \
|
||
-Dandroid-stub=false \
|
||
-Dlibunwind=disabled \
|
||
-Dvalgrind=disabled \
|
||
-Dtools= \
|
||
-Dllvm=$(if $(CONFIG_MESA_USE_LLVM),en,dis)abled \
|
||
-Ddraw-use-llvm=$(if $(CONFIG_MESA_USE_LLVM),true,false) \
|
||
-Dmesa-clc=$(if $(CONFIG_MESA_USE_LLVM),system,auto) \
|
||
-Dprecomp-compiler=system \
|
||
-Dlegacy-wayland=bind-wayland-display
|
||
|
||
ifeq ($(BUILD_VARIANT),amd)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=r300,r600,radeonsi
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),intel)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=crocus,i915,iris \
|
||
-Dintel-rt=$(if $(CONFIG_TARGET_x86_64),en,dis)abled
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),tegra)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=tegra,nouveau
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),etnaviv)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=etnaviv \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),broadcom)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=vc4,v3d \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),nouveau)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=nouveau
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),lima)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=lima \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),panfrost)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=panfrost
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),virgl)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=virgl
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),llvmpipe)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=llvmpipe
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),softpipe)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=softpipe \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),teflon-rocket)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=rocket \
|
||
-Dteflon=true \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),teflon-etnaviv)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=etnaviv \
|
||
-Dteflon=true \
|
||
-Dllvm=disabled \
|
||
-Ddraw-use-llvm=false
|
||
endif
|
||
|
||
ifeq ($(BUILD_VARIANT),vulkan)
|
||
MESON_ARGS += \
|
||
-Dgallium-drivers=zink \
|
||
-Dvulkan-drivers=$(subst $(space),$(comma),$(strip $(VULKAN_DRIVERS)))
|
||
else
|
||
MESON_ARGS += \
|
||
-Dvulkan-drivers=
|
||
endif
|
||
|
||
ifneq ($(CONFIG_BUILD_PATENTED),)
|
||
MESON_ARGS += -Dvideo-codecs=all
|
||
else
|
||
MESON_ARGS += -Dvideo-codecs=all_free
|
||
endif
|
||
|
||
TARGET_CFLAGS += -I$(MESON_BUILD_DIR)/src/broadcom/
|
||
|
||
ifneq ($(CONFIG_MESA_USE_LLVM),)
|
||
define Host/Configure/LLVMMesa
|
||
$(INSTALL_DIR) $(HOST_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR_HOST)/llvm-mesa/bin $(HOST_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR_HOST)/llvm-mesa/include $(HOST_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR_HOST)/llvm-mesa/lib $(HOST_BUILD_DIR)/subprojects/llvm
|
||
$(CP) ./llvm-meson.build.in $(HOST_BUILD_DIR)/subprojects/llvm/meson.build
|
||
LLVM_BUILDDIR=$(lastword $(wildcard $(BUILD_DIR_HOST)/llvm-mesa/llvm-project-*)) ; LLVM_VER=$$$${LLVM_BUILDDIR##*llvm-project-} ; LLVM_VER=$$$${LLVM_VER%%.src} ;\
|
||
$(SED) "s%@LLVM_VERSION@%$$$${LLVM_VER}%" $(HOST_BUILD_DIR)/subprojects/llvm/meson.build
|
||
LLVM_LIBS=$$$$( next_comma='' ; for lib in $(STAGING_DIR_HOST)/llvm-mesa/lib/*.a; do \
|
||
lib=$$$${lib##*/lib} ; \
|
||
lib=$$$${lib##*/} ; \
|
||
lib=$$$${lib%%.a} ; \
|
||
echo -n "$$$${next_comma}'$$$${lib}'" ; \
|
||
next_comma=', ' ; \
|
||
done ) ; $(SED) "s%@LLVM_LIBS@%$$$${LLVM_LIBS}%" $(HOST_BUILD_DIR)/subprojects/llvm/meson.build
|
||
$(INSTALL_DATA) \
|
||
$(STAGING_DIR_HOST)/llvm-mesa/lib/clang/*/include/opencl-c.h \
|
||
$(STAGING_DIR_HOST)/llvm-mesa/lib/clang/*/include/opencl-c-base.h \
|
||
$(HOST_BUILD_DIR)/src/compiler/clc
|
||
endef
|
||
else
|
||
define Host/Configure/LLVMMesa
|
||
endef
|
||
endif
|
||
|
||
define Host/Configure
|
||
$(call Py3Build/InstallBuildDepends)
|
||
$(call Host/Configure/LLVMMesa)
|
||
$(call Host/Configure/Meson)
|
||
endef
|
||
|
||
|
||
ifneq ($(CONFIG_MESA_USE_LLVM),)
|
||
define Build/Configure/LLVMMesa
|
||
$(INSTALL_DIR) $(PKG_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR)/usr/bin $(PKG_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR)/usr/include $(PKG_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR)/usr/lib $(PKG_BUILD_DIR)/subprojects/llvm
|
||
$(LN) $(STAGING_DIR)/usr/share $(PKG_BUILD_DIR)/subprojects/llvm
|
||
$(CP) ./llvm-meson.build.in $(PKG_BUILD_DIR)/subprojects/llvm/meson.build
|
||
LLVM_BUILDDIR=$(wildcard $(BUILD_DIR)/llvm-mesa/llvm-project-*) ; LLVM_VER=$$$${LLVM_BUILDDIR##*llvm-project-} ; LLVM_VER=$$$${LLVM_VER%%.src} ;\
|
||
$(SED) "s%@LLVM_VERSION@%$$$${LLVM_VER}%" $(PKG_BUILD_DIR)/subprojects/llvm/meson.build
|
||
LLVM_LIBS=$$$$( next_comma='' ; for lib in $(STAGING_DIR)/usr/lib/libclang*.a $(STAGING_DIR)/usr/lib/libLLVM*.a; do \
|
||
lib=$$$${lib##*/lib} ; \
|
||
lib=$$$${lib##*/} ; \
|
||
lib=$$$${lib%%.a} ; \
|
||
echo -n "$$$${next_comma}'$$$${lib}'" ; \
|
||
next_comma=', ' ; \
|
||
done ) ; $(SED) "s%@LLVM_LIBS@%$$$${LLVM_LIBS}%" $(PKG_BUILD_DIR)/subprojects/llvm/meson.build
|
||
endef
|
||
else
|
||
define Build/Configure/LLVMMesa
|
||
endef
|
||
endif
|
||
|
||
|
||
define Build/Configure
|
||
$(call Build/Configure/LLVMMesa)
|
||
$(call Py3Build/InstallBuildDepends)
|
||
$(call Build/Configure/Meson)
|
||
endef
|
||
|
||
define Build/InstallDev
|
||
$(INSTALL_DIR) $(1)/usr/include
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/include/* $(1)/usr/include
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*.so* $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/lib/pkgconfig
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/pkgconfig/*.pc $(1)/usr/lib/pkgconfig
|
||
endef
|
||
|
||
define Package/libmesa/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/lib*GL*.so* $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgbm.so* $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libgallium*.so* $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/lib/gbm
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/gbm/*.so $(1)/usr/lib/gbm
|
||
if [ -e "$(PKG_INSTALL_DIR)/usr/lib/dri" ]; then \
|
||
$(INSTALL_DIR) $(1)/usr/lib/dri ; \
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/dri/*.so $(1)/usr/lib/dri ; \
|
||
fi
|
||
$(INSTALL_DIR) $(1)/usr/share/drirc.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/drirc.d/* $(1)/usr/share/drirc.d
|
||
endef
|
||
|
||
define Package/libvulkan-radeon/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_radeon.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/radeon_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-broadcom/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_broadcom.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/broadcom_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-imagination/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_powervr_mesa.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/powervr_mesa_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-intel/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_intel.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/intel_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-intel-hasvk/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_intel_hasvk.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/intel_hasvk_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-lvp/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_lvp.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/lvp_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-nouveau/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_nouveau.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/nouveau_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-panfrost/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_panfrost.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/panfrost_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libvulkan-virtio/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libvulkan_virtio.so $(1)/usr/lib
|
||
$(INSTALL_DIR) $(1)/usr/share/vulkan/icd.d
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/share/vulkan/icd.d/virtio_icd.*.json $(1)/usr/share/vulkan/icd.d
|
||
endef
|
||
|
||
define Package/libteflon/install
|
||
$(INSTALL_DIR) $(1)/usr/lib
|
||
$(CP) $(PKG_INSTALL_DIR)/usr/lib/libteflon.so $(1)/usr/lib
|
||
endef
|
||
|
||
Package/libteflon-rocket/install = $(Package/libteflon/install)
|
||
Package/libteflon-etnaviv/install = $(Package/libteflon/install)
|
||
|
||
Package/libmesa-intel/install = $(Package/libmesa/install)
|
||
Package/libmesa-amd/install = $(Package/libmesa/install)
|
||
Package/libmesa-tegra/install = $(Package/libmesa/install)
|
||
Package/libmesa-etnaviv/install = $(Package/libmesa/install)
|
||
Package/libmesa-broadcom/install = $(Package/libmesa/install)
|
||
Package/libmesa-lima/install = $(Package/libmesa/install)
|
||
Package/libmesa-panfrost/install = $(Package/libmesa/install)
|
||
Package/libmesa-nouveau/install = $(Package/libmesa/install)
|
||
Package/libmesa-virgl/install = $(Package/libmesa/install)
|
||
Package/libmesa-zink/install = $(Package/libmesa/install)
|
||
Package/libmesa-softpipe/install = $(Package/libmesa/install)
|
||
Package/libmesa-llvmpipe/install = $(Package/libmesa/install)
|
||
|
||
$(eval $(call BuildPackage,mesa3d))
|
||
$(eval $(call BuildPackage,libmesa-amd))
|
||
$(eval $(call BuildPackage,libmesa-intel))
|
||
$(eval $(call BuildPackage,libmesa-tegra))
|
||
$(eval $(call BuildPackage,libmesa-etnaviv))
|
||
$(eval $(call BuildPackage,libmesa-broadcom))
|
||
$(eval $(call BuildPackage,libmesa-nouveau))
|
||
$(eval $(call BuildPackage,libmesa-lima))
|
||
$(eval $(call BuildPackage,libmesa-panfrost))
|
||
$(eval $(call BuildPackage,libmesa-virgl))
|
||
$(eval $(call BuildPackage,libmesa-zink))
|
||
$(eval $(call BuildPackage,libmesa-softpipe))
|
||
$(eval $(call BuildPackage,libmesa-llvmpipe))
|
||
$(eval $(call BuildPackage,libvulkan-broadcom))
|
||
$(eval $(call BuildPackage,libvulkan-imagination))
|
||
$(eval $(call BuildPackage,libvulkan-intel))
|
||
$(eval $(call BuildPackage,libvulkan-intel-hasvk))
|
||
$(eval $(call BuildPackage,libvulkan-lvp))
|
||
$(eval $(call BuildPackage,libvulkan-nouveau))
|
||
$(eval $(call BuildPackage,libvulkan-panfrost))
|
||
$(eval $(call BuildPackage,libvulkan-radeon))
|
||
$(eval $(call BuildPackage,libvulkan-virtio))
|
||
$(eval $(call BuildPackage,libteflon-rocket))
|
||
$(eval $(call BuildPackage,libteflon-etnaviv))
|
||
$(eval $(call HostBuild))
|