2fe3a8f81b
mesa3d uses very big switch statements, which causes the build to fail on m68k, beause the offsets there are only 16-bit. We fix that by using -mlong-jump-table-offsets on m68k, to use 32-bit offsets for switch statements, but this is only available starting with gcc 7 [0] [1]. Fixes: http://autobuild.buildroot.net/results/60c4653c2a93125edbdd0beb43cd47301643464a/ Note: we have two packages that select mesa3d, but: package/intel-mediadriver/ -> already depends on x86_64, so implies !m68k package/x11r7/xdriver_xf86-video-imx-viv/ -> imx is an ARM, but xdriver_xf86-video-imx-viv is missing a depends on BR2_arm (although the comments do have that dependency). However, it depends on other imx related packages, and they depend on either arm or aarch64, so that implies !m68k. As such, we do not need to propagate that new dependency. [0] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583#c15 [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=57583#c16 Signed-off-by: Giulio Benetti <giulio.benetti@benettiengineering.com> [yann.morin.1998@free.fr: - add comment - reword commit log, add BZ references, add non-propagation notes ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
449 lines
14 KiB
Plaintext
449 lines
14 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
|
|
depends on !BR2_m68k || BR2_TOOLCHAIN_GCC_AT_LEAST_7 # m68k needs gcc >= 7.x
|
|
select BR2_PACKAGE_EXPAT
|
|
select BR2_PACKAGE_LIBDRM
|
|
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
|
|
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
|
|
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4 && \
|
|
!BR2_RISCV_32)
|
|
|
|
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
|
|
|
|
# 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
|
|
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
|
|
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_LIMA
|
|
bool "Gallium lima driver"
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
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
|
|
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"
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
help
|
|
This is a software opengl implementation using the Gallium3D
|
|
infrastructure.
|
|
|
|
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_LIBDRM_VC4
|
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
|
help
|
|
Driver for Broadcom VC6 (rpi4) GPUs (needs 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_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_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_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 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
|
|
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_GALLIUM
|
|
bool "OSMesa (Gallium) library"
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
|
|
help
|
|
The OSMesa API provides functions for off-screen rendering.
|
|
|
|
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
|
|
|
|
comment "mesa3d needs a toolchain w/ gcc >= 7"
|
|
depends on BR2_m68k
|
|
depends on !BR2_TOOLCHAIN_GCC_AT_LEAST_7
|