mirror of
https://github.com/MiyooCFW/buildroot.git
synced 2025-09-27 22:24:19 +03:00
Merge from bittboy/buildroot@26c91a9
This commit is contained in:
@@ -6,16 +6,7 @@ menuconfig BR2_PACKAGE_MESA3D
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
||||
select BR2_PACKAGE_LIBDRM
|
||||
select BR2_PACKAGE_EXPAT
|
||||
select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
|
||||
select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_XLIB_LIBXXF86VM if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_ZLIB
|
||||
help
|
||||
Mesa 3D, an open-source implementation of the OpenGL
|
||||
@@ -32,7 +23,6 @@ config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
||||
config BR2_PACKAGE_MESA3D_LLVM
|
||||
bool "llvm support"
|
||||
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
||||
depends on BR2_HOST_GCC_AT_LEAST_4_8
|
||||
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
||||
depends on BR2_TOOLCHAIN_HAS_THREADS
|
||||
depends on BR2_INSTALL_LIBSTDCPP
|
||||
@@ -41,10 +31,10 @@ config BR2_PACKAGE_MESA3D_LLVM
|
||||
depends on BR2_USE_WCHAR # std::wstring
|
||||
select BR2_PACKAGE_LLVM
|
||||
|
||||
comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, host gcc >= 4.8, dynamic library"
|
||||
comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, dynamic library"
|
||||
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
||||
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
|
||||
!BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|
||||
!BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|
||||
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
||||
|
||||
comment "llvm support needs a toolchain not affected by GCC bug 64735"
|
||||
@@ -58,6 +48,7 @@ config BR2_PACKAGE_MESA3D_OPENCL
|
||||
depends on BR2_PACKAGE_MESA3D_LLVM
|
||||
depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 || \
|
||||
BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
||||
select BR2_PACKAGE_LLVM_RTTI
|
||||
select BR2_PACKAGE_CLANG
|
||||
select BR2_PACKAGE_LIBCLC
|
||||
select BR2_PACKAGE_HAS_LIBOPENCL
|
||||
@@ -70,6 +61,10 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
config BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||
bool
|
||||
select BR2_PACKAGE_MESA3D_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GBM if \
|
||||
!BR2_PACKAGE_MESA3D_OPENGL_GLX && \
|
||||
!BR2_PACKAGE_MESA3D_OPENGL_EGL && \
|
||||
!BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
|
||||
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
|
||||
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
|
||||
|
||||
@@ -80,25 +75,74 @@ config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
||||
config BR2_PACKAGE_MESA3D_DRIVER
|
||||
bool
|
||||
|
||||
# Gallium xa state tracker.
|
||||
# Quote from mesa3d meson.build: "XA state tracker requires at least
|
||||
# one of the following gallium drivers: nouveau, freedreno, i915, svga.
|
||||
config BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
bool
|
||||
|
||||
# Quote from mesa3d meson.build: "kmsro driver requires one or more
|
||||
# renderonly drivers (vc4, etnaviv, freedreno)". But only vc4 support
|
||||
# is available by using the (deprecated) autotools build system.
|
||||
# renderonly drivers (vc4, etnaviv, freedreno)".
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
bool
|
||||
|
||||
# OpenGL GLX and Gallium VDPAU both needs X11
|
||||
config BR2_PACKAGE_MESA3D_NEEDS_X11
|
||||
bool
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_LIBXCB
|
||||
select BR2_PACKAGE_XLIB_LIBX11
|
||||
select BR2_PACKAGE_XLIB_LIBXDAMAGE
|
||||
select BR2_PACKAGE_XLIB_LIBXEXT
|
||||
select BR2_PACKAGE_XLIB_LIBXFIXES
|
||||
select BR2_PACKAGE_XLIB_LIBXRANDR
|
||||
select BR2_PACKAGE_XLIB_LIBXXF86VM
|
||||
select BR2_PACKAGE_XORGPROTO
|
||||
|
||||
comment "Gallium drivers"
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_ETNAVIV
|
||||
bool "Gallium Etnaviv driver"
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_ETNAVIV
|
||||
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
help
|
||||
Mesa driver for Vivante GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
|
||||
bool "Gallium freedreno driver"
|
||||
depends on BR2_arm || BR2_aarch64 || BR2_aarch64_be # libdrm-freedreno
|
||||
# libdrm's freedreno option depends on LIBDRM_HAS_ATOMIC. Propagating
|
||||
# that dependency here causes a circular dependency that Kconfig
|
||||
# can't see is just spurious. However, that dependency is about
|
||||
# the toolchain having sync4 primitives, which is always a given
|
||||
# for arm/aarch64.
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_FREEDRENO
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
help
|
||||
Mesa driver for Freedreno GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_I915
|
||||
bool "Gallium i915 driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_INTEL
|
||||
help
|
||||
Support for i915-based Intel GPUs.
|
||||
|
||||
comment "Gallium i915: Only one i915 provider can be built"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_IRIS
|
||||
bool "Gallium iris driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
help
|
||||
Mesa driver for iris-based Intel GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
|
||||
bool "Gallium KMSRO driver"
|
||||
depends on BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
@@ -109,15 +153,42 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_KMSRO
|
||||
comment "Gallium KMSRO needs one or more renderonly drivers"
|
||||
depends on !BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_LIMA
|
||||
bool "Gallium lima driver"
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
help
|
||||
Mesa driver for ARM Mali Utgard GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
|
||||
bool "Gallium nouveau driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_NOUVEAU
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
select BR2_PACKAGE_LLVM_RTTI if BR2_PACKAGE_MESA3D_LLVM
|
||||
help
|
||||
Supports all Nvidia GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_PANFROST
|
||||
bool "Gallium panfrost driver"
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
help
|
||||
Mesa driver for ARM Mali Midgard and Bifrost GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300
|
||||
bool "Gallium Radeon R300 driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
# lbdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
|
||||
# that dependency here causes a circular dependency that Kconfig
|
||||
# can't see is just spurious. However, that dependency is about
|
||||
# the toolchain having sync4 primitives, which is always a given
|
||||
# for x86.
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_RADEON
|
||||
help
|
||||
Driver for ATI/AMD Radeon R300/R400/R500 GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
|
||||
bool "Gallium Radeon R600 driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
@@ -129,7 +200,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
|
||||
select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
|
||||
select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
help
|
||||
Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
|
||||
|
||||
@@ -151,7 +221,6 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
||||
select BR2_PACKAGE_LLVM_AMDGPU
|
||||
select BR2_PACKAGE_ELFUTILS
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
help
|
||||
Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
|
||||
|
||||
@@ -173,18 +242,45 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
|
||||
bool "Gallium swrast driver"
|
||||
depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
help
|
||||
This is a software opengl implementation using the Gallium3D
|
||||
infrastructure.
|
||||
|
||||
comment "Gallium swrast: Only one swrast provider can be built"
|
||||
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_TEGRA
|
||||
bool "Gallium tegra driver"
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
|
||||
select BR2_PACKAGE_LIBDRM_NOUVEAU
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
help
|
||||
Adds support for Nvidia Tegra GPUs, requires nouveau.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_V3D
|
||||
bool "Gallium v3d driver"
|
||||
depends on (BR2_arm && BR2_ARM_CPU_HAS_NEON) || BR2_aarch64
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
select BR2_PACKAGE_LIBDRM_VC4
|
||||
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||
help
|
||||
Driver for Broadcom VC6 (rpi4) GPUs (needs kmsro and vc4).
|
||||
|
||||
It requires a kernel 4.18+ with DRM V3D support enabled:
|
||||
|
||||
- CONFIG_DRM_V3D
|
||||
- CONFIG_DRM_VC4
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
|
||||
bool "Gallium vc4 driver"
|
||||
depends on BR2_arm || BR2_aarch64
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
||||
select BR2_PACKAGE_MESA3D_GALLIUM_KMSRO
|
||||
select BR2_PACKAGE_LIBDRM_VC4
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
||||
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||
help
|
||||
Driver for Broadcom VC4 (rpi2/3) GPUs.
|
||||
@@ -198,6 +294,44 @@ config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
|
||||
virgl is the 3D acceleration backend for the virtio-gpu
|
||||
shipping with qemu.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_VDPAU
|
||||
bool "Gallium VDPAU state tracker"
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_X11
|
||||
select BR2_PACKAGE_LIBVDPAU
|
||||
help
|
||||
VDPAU state tracker (needs r300, r600, radeonsi or nouveau
|
||||
gallium drivers).
|
||||
|
||||
comment "Gallium VDPAU state tracker needs X.org and gallium drivers r300, r600, radeonsi or nouveau"
|
||||
depends on !BR2_PACKAGE_XORG7 || \
|
||||
!(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R300 \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600 \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI)
|
||||
|
||||
config BR2_PACKAGE_MESA3D_XVMC
|
||||
bool "Gallium XvMC state tracker"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
depends on BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_X11
|
||||
select BR2_PACKAGE_XLIB_LIBXV
|
||||
select BR2_PACKAGE_XLIB_LIBXVMC
|
||||
help
|
||||
XvMC state tracker (needs r600 or nouveau gallium drivers).
|
||||
|
||||
comment "Gallium XvMC state tracker needs X.org and gallium drivers r600 or nouveau"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
depends on !BR2_PACKAGE_XORG7 || \
|
||||
!(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU \
|
||||
|| BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600)
|
||||
|
||||
comment "DRI drivers"
|
||||
|
||||
config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
|
||||
@@ -236,7 +370,13 @@ config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
|
||||
Support for Nvidia-based GPUs.
|
||||
|
||||
config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
|
||||
bool "DRI radeon driver"
|
||||
bool "DRI radeon r100 driver"
|
||||
depends on BR2_i386 || BR2_x86_64
|
||||
# libdrm's radeon option depends on LIBDRM_HAS_ATOMIC. Propagating
|
||||
# that dependency here causes a circular dependency that Kconfig
|
||||
# can't see is just spurious. However, that dependency is about
|
||||
# the toolchain having sync4 primitives, which is always a given
|
||||
# for i386 and x86_64.
|
||||
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
||||
select BR2_PACKAGE_LIBDRM_RADEON
|
||||
help
|
||||
@@ -265,20 +405,43 @@ comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >=
|
||||
|
||||
comment "Off-screen Rendering"
|
||||
|
||||
config BR2_PACKAGE_MESA3D_OSMESA
|
||||
bool "OSMesa library"
|
||||
config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
|
||||
bool "OSMesa (classic) library"
|
||||
help
|
||||
The OSMesa API provides functions for making off-screen
|
||||
renderings.
|
||||
The OSMesa classic API provides functions for
|
||||
making off-screen renderings.
|
||||
|
||||
if BR2_PACKAGE_MESA3D_DRIVER
|
||||
|
||||
comment "Additional API Support"
|
||||
comment "OpenGL API Support"
|
||||
|
||||
config BR2_PACKAGE_MESA3D_GBM
|
||||
bool "gbm"
|
||||
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
|
||||
|| (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
|
||||
help
|
||||
Enable Generic Buffer Management (gbm)
|
||||
|
||||
comment "gbm support needs a dri driver or a gallium driver w/ EGL support."
|
||||
depends on !BR2_PACKAGE_MESA3D_DRI_DRIVER \
|
||||
&& !(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
|
||||
|
||||
config BR2_PACKAGE_MESA3D_OPENGL_GLX
|
||||
bool "OpenGL GLX"
|
||||
depends on BR2_PACKAGE_XORG7
|
||||
select BR2_PACKAGE_HAS_LIBGL
|
||||
select BR2_PACKAGE_MESA3D_NEEDS_X11
|
||||
help
|
||||
Enable GLX graphic acceleration (OpenGL + X11).
|
||||
|
||||
comment "OpenGL GLX support needs X11"
|
||||
depends on !BR2_PACKAGE_XORG7
|
||||
|
||||
config BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||
bool "OpenGL EGL"
|
||||
select BR2_PACKAGE_HAS_LIBEGL
|
||||
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
|
||||
select BR2_PACKAGE_MESA3D_GBM
|
||||
help
|
||||
Use the Khronos EGL APIs. EGL is a window manager for OpenGL
|
||||
applications similar to GLX, for X, and WGL, for Windows.
|
||||
@@ -293,7 +456,7 @@ config BR2_PACKAGE_MESA3D_OPENGL_ES
|
||||
endif # BR2_PACKAGE_MESA3D_DRIVER
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBGL
|
||||
default "mesa3d" if BR2_PACKAGE_XORG7
|
||||
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
|
||||
|
||||
config BR2_PACKAGE_PROVIDES_LIBEGL
|
||||
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
|
||||
|
||||
Reference in New Issue
Block a user