86150bd7a2
mesa3d should only need expat for a limited set of drivers. However, the condition in their meson.build is borked: required: not with_platform_android or with_any_broadcom or with_any_intel So, as soon as the platform is not android, expat is required. If it is not already present in the configuraiotn, then meson will try to be helpful and will try to download its own copy under the table: Run-time dependency expat found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency expat Downloading expat source from https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2 <urlopen error unknown url type: https> A fallback URL could be specified using source_fallback_url key in the wrap file ../O/build/mesa3d-20.3.3/meson.build:1366:2: ERROR: could not get https://github.com/libexpat/libexpat/releases/download/R_2_2_5/expat-2.2.5.tar.bz2 is the internet available? Ideally, we would like to fix the condition in the meson.build, to drop the spurious and dubious condition on the android platform. However it is not totally obvious what the prupose was, and expat compiles quikly, so we just add expat as an unconditional mandatory dependency. Fixes: http://autobuild.buildroot.org/results/f71865771482b1d71d12e77767d236ca693785d5/ http://autobuild.buildroot.org/results/98290b9681a38b3be820017823a4a4196d474476/ .... Reported-by: Titouan Christophe <titouanchristophe@gmail.com> Signed-off-by: Fabio Estevam <festevam@gmail.com> [yann.morin.1998@free.fr: - make it a generic fix, not tied to freedreno, reported by Fabio - rewrite commit log to explain the root cause - also reported about virgl, by Titouan ] Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
476 lines
15 KiB
Plaintext
476 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_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 && \
|
|
!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
|
|
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
|
|
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_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_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_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 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_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
|