73835f5766
src/gbm/cd6bfad@@gbm at sha/main_backend.c.o: In function `_gbm_create_device':
backend.c:(.text+0x38): undefined reference to `gbm_dri_backend'
backend.c:(.text+0x40): undefined reference to `gbm_dri_backend'
backend.c:(.text+0x74): undefined reference to `gbm_dri_backend'
backend.c:(.text+0x78): undefined reference to `gbm_dri_backend'
collect2: error: ld returned 1 exit status
This issue has been trigged since [1]:
"package/mesa3d: add option to configure gbm support"
Before the patch, the gbm support was autodetected by meson and enabled
only when at least one dri driver was enabled [2].
On the Buildroot side, the gbm support was explicitely enabled only when
BR2_PACKAGE_MESA3D_OPENGL_EGL was set.
We have two cases:
- At least one DRI driver.
- No DRI driver but one Gallium w/ EGL enable (EGL selected or not by the
Gallium driver). In this case the meson build system set with_dri to true
(even if no DRI driver is enabled) to use the builtin:egl_dri2 [3].
The gbm's meson build system seems to handle the case where no dri driver is
enabled [4] but it still use main/backend.c source file [6] that use
gbm_dri_backend [7]. So with_dri2 must always be set.
Probably a missing check in meson.build:
if with_gbm and not with_dri
error('GBM backend needs a dri driver or a gallium driver w/ EGL support.')
endif
Add a dependency on GBM option:
depends on BR2_PACKAGE_MESA3D_DRI_DRIVER \
|| (BR2_PACKAGE_MESA3D_GALLIUM_DRIVER && BR2_PACKAGE_MESA3D_OPENGL_EGL)
Fixes:
http://autobuild.buildroot.net/results/b9b6281983388dc22d929887d653da3db60f1f2c
[1] b6c051acf7
[2] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/meson.build#L348
[3] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/meson.build#L212
[4] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/meson.build#L37
[5] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/meson.build#L24
[6] https://gitlab.freedesktop.org/mesa/mesa/blob/19.3/src/gbm/main/backend.c#L38
[7] http://lists.busybox.net/pipermail/buildroot/2020-February/274425.html
Signed-off-by: Romain Naour <romain.naour@smile.fr>
Cc: Bernd Kuhls <bernd.kuhls@t-online.de>
Tested-by: Bernd Kuhls <bernd.kuhls@t-online.de>
[yann.morin.1998@free.fr: fix dependency of comment]
Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
463 lines
15 KiB
Plaintext
463 lines
15 KiB
Plaintext
menuconfig BR2_PACKAGE_MESA3D
|
|
bool "mesa3d"
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_1
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
|
select BR2_PACKAGE_LIBDRM
|
|
select BR2_PACKAGE_EXPAT
|
|
select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
|
|
select BR2_PACKAGE_ZLIB
|
|
help
|
|
Mesa 3D, an open-source implementation of the OpenGL
|
|
specification.
|
|
|
|
http://mesa3d.org
|
|
|
|
if BR2_PACKAGE_MESA3D
|
|
|
|
# Some Gallium driver needs libelf when built with LLVM support
|
|
config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
|
bool
|
|
|
|
config BR2_PACKAGE_MESA3D_LLVM
|
|
bool "llvm support"
|
|
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
|
depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
|
|
depends on !BR2_STATIC_LIBS
|
|
depends on BR2_USE_WCHAR # std::wstring
|
|
select BR2_PACKAGE_LLVM
|
|
|
|
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_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|
|
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
|
|
|
comment "llvm support needs a toolchain not affected by GCC bug 64735"
|
|
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
|
depends on BR2_TOOLCHAIN_HAS_GCC_BUG_64735
|
|
|
|
# clang and libclc dependencies are satisfied by
|
|
# BR2_PACKAGE_MESA3D_LLVM
|
|
config BR2_PACKAGE_MESA3D_OPENCL
|
|
bool "OpenCL support"
|
|
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
|
|
|
|
# inform the .mk file of gallium, dri or vulkan driver selection
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
bool
|
|
select BR2_PACKAGE_MESA3D_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)
|
|
|
|
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
|
bool
|
|
select BR2_PACKAGE_MESA3D_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)".
|
|
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_GALLIUM_KMSRO
|
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
|
help
|
|
Mesa driver for Vivante GPUs.
|
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_FREEDRENO
|
|
bool "Gallium freedreno driver"
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
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
|
|
help
|
|
Support various sorts of KMS displays with the
|
|
renderonly layer used to attach a GPU.
|
|
|
|
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"
|
|
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
|
|
depends on !BR2_PACKAGE_MESA3D_LLVM || \
|
|
(BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
|
|
BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_RADEON
|
|
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
|
|
help
|
|
Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
|
|
|
|
# R600 needs libelf when Mesa3D is built with LLVM support
|
|
# musl is not currently compatible with elfutils
|
|
comment "R600 driver needs a uClibc or glibc toolchain when llvm is enabled"
|
|
depends on BR2_PACKAGE_MESA3D_LLVM
|
|
depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
|
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
|
bool "Gallium Radeon SI driver"
|
|
depends on BR2_USE_MMU # libdrm
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on BR2_PACKAGE_MESA3D_LLVM
|
|
depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_AMDGPU
|
|
select BR2_PACKAGE_LIBDRM_RADEON
|
|
select BR2_PACKAGE_LLVM_AMDGPU
|
|
select BR2_PACKAGE_ELFUTILS
|
|
select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
|
help
|
|
Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
|
|
|
|
# Radeon SI needs libelf
|
|
# musl is not currently compatible with elfutils
|
|
comment "Radeon SI driver needs a uClibc or glibc toolchain"
|
|
depends on BR2_USE_MMU
|
|
depends on BR2_PACKAGE_MESA3D_LLVM
|
|
depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
|
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
|
|
bool "Gallium vmware svga driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_VMWGFX
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
|
help
|
|
This is a virtual GPU driver for VMWare virtual machines.
|
|
|
|
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_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_OPENGL_EGL
|
|
help
|
|
Driver for Broadcom VC4 (rpi2/3) GPUs.
|
|
It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
|
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
|
|
bool "Gallium virgl driver"
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
|
help
|
|
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_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
|
|
bool "DRI swrast driver"
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
help
|
|
This is a software opengl implementation using the DRI
|
|
infrastructure.
|
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
|
|
bool "DRI i915 driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_INTEL
|
|
help
|
|
Support for i915-based Intel GPUs.
|
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
|
|
bool "DRI i965 driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_INTEL
|
|
help
|
|
Support for i965-based Intel GPUs.
|
|
|
|
comment "DRI i965 driver needs a toolchain w/ headers >= 3.17"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17
|
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
|
|
bool "DRI nouveau driver"
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_NOUVEAU
|
|
help
|
|
Support for Nvidia-based GPUs.
|
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
|
|
bool "DRI radeon driver"
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
select BR2_PACKAGE_LIBDRM_RADEON
|
|
help
|
|
Legacy Radeon driver for R100 series GPUs.
|
|
|
|
comment "Vulkan drivers"
|
|
|
|
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
|
|
bool "Vulkan Intel driver"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4 # libxshmfence
|
|
depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 # memfd.h
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
|
|
depends on BR2_PACKAGE_XORG7 # xorgproto
|
|
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
|
select BR2_PACKAGE_XORGPROTO
|
|
select BR2_PACKAGE_XLIB_LIBXSHMFENCE
|
|
help
|
|
Vulkan driver for Intel hardware from Ivy Bridge onward.
|
|
|
|
comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.17"
|
|
depends on BR2_i386 || BR2_x86_64
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_4
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_17 || \
|
|
!BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
|
|
|
|
comment "Off-screen Rendering"
|
|
|
|
config BR2_PACKAGE_MESA3D_OSMESA_CLASSIC
|
|
bool "OSMesa (classic) library"
|
|
help
|
|
The OSMesa classic API provides functions for
|
|
making off-screen renderings.
|
|
|
|
if BR2_PACKAGE_MESA3D_DRIVER
|
|
|
|
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.
|
|
|
|
config BR2_PACKAGE_MESA3D_OPENGL_ES
|
|
bool "OpenGL ES"
|
|
select BR2_PACKAGE_HAS_LIBGLES
|
|
help
|
|
Use the Khronos OpenGL ES APIs. This is commonly used on
|
|
embedded systems and represents a subset of the OpenGL API.
|
|
|
|
endif # BR2_PACKAGE_MESA3D_DRIVER
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBGL
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_GLX
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBEGL
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBGLES
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
|
|
|
|
config BR2_PACKAGE_PROVIDES_LIBOPENCL
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENCL
|
|
|
|
endif # BR2_PACKAGE_MESA3D
|
|
|
|
comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
|
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
|
|
BR2_STATIC_LIBS
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_1
|