2014-04-17 18:04:16 +02:00
|
|
|
menuconfig BR2_PACKAGE_MESA3D
|
2014-06-08 16:15:09 +02:00
|
|
|
bool "mesa3d"
|
2016-01-04 01:11:45 +01:00
|
|
|
depends on BR2_INSTALL_LIBSTDCPP
|
|
|
|
depends on !BR2_STATIC_LIBS
|
2016-03-19 10:20:54 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_1
|
2016-01-04 01:11:45 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
|
2009-03-23 13:50:05 +01:00
|
|
|
select BR2_PACKAGE_LIBDRM
|
2010-04-01 14:46:33 +02:00
|
|
|
select BR2_PACKAGE_EXPAT
|
2016-07-17 18:27:54 +02:00
|
|
|
select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
|
2017-09-04 19:56:14 +02:00
|
|
|
select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND
|
2018-07-21 16:16:36 +02:00
|
|
|
select BR2_PACKAGE_XORGPROTO if BR2_PACKAGE_XORG7
|
2014-07-17 07:42:55 +02:00
|
|
|
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_LIBXCB if BR2_PACKAGE_XORG7
|
2017-06-10 13:53:46 +02:00
|
|
|
select BR2_PACKAGE_ZLIB
|
2007-08-10 21:07:51 +02:00
|
|
|
help
|
2017-12-18 09:21:05 +01:00
|
|
|
Mesa 3D, an open-source implementation of the OpenGL
|
|
|
|
specification.
|
2014-03-29 21:56:06 +01:00
|
|
|
|
|
|
|
http://mesa3d.org
|
|
|
|
|
|
|
|
if BR2_PACKAGE_MESA3D
|
|
|
|
|
2018-04-28 19:28:03 +02:00
|
|
|
# Some Gallium driver needs libelf when built with LLVM support
|
|
|
|
config BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
|
|
|
bool
|
|
|
|
|
2018-04-04 18:31:20 +02:00
|
|
|
config BR2_PACKAGE_MESA3D_LLVM
|
|
|
|
bool "llvm support"
|
|
|
|
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
2018-04-06 11:00:13 +02:00
|
|
|
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
|
|
|
|
depends on !BR2_TOOLCHAIN_HAS_GCC_BUG_64735 # std::shared_future
|
2018-04-09 11:46:06 +02:00
|
|
|
depends on !BR2_STATIC_LIBS
|
2018-04-09 11:46:07 +02:00
|
|
|
depends on BR2_USE_WCHAR # std::wstring
|
2018-04-04 18:31:20 +02:00
|
|
|
select BR2_PACKAGE_LLVM
|
|
|
|
|
2018-04-09 11:46:07 +02:00
|
|
|
comment "llvm support needs a toolchain w/ wchar, threads, C++, gcc >= 4.8, host gcc >= 4.8, dynamic library"
|
2018-04-06 11:00:13 +02:00
|
|
|
depends on BR2_PACKAGE_LLVM_ARCH_SUPPORTS
|
|
|
|
depends on !BR2_TOOLCHAIN_HAS_THREADS || !BR2_INSTALL_LIBSTDCPP || \
|
2018-04-09 11:46:06 +02:00
|
|
|
!BR2_HOST_GCC_AT_LEAST_4_8 || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 \
|
2018-04-09 11:46:07 +02:00
|
|
|
|| BR2_STATIC_LIBS || !BR2_USE_WCHAR
|
2018-04-06 11:00:13 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
|
2016-07-17 18:27:55 +02:00
|
|
|
# inform the .mk file of gallium, dri or vulkan driver selection
|
2014-03-29 21:56:06 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
|
|
bool
|
2017-04-22 19:17:59 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_DRIVER
|
2014-03-29 21:56:06 +01:00
|
|
|
|
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER
|
2017-04-22 19:17:59 +02:00
|
|
|
bool
|
2014-03-29 21:56:06 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_DRIVER
|
2018-07-29 19:40:26 +02:00
|
|
|
select BR2_PACKAGE_XLIB_LIBXSHMFENCE if \
|
|
|
|
(BR2_PACKAGE_XORG7 && BR2_TOOLCHAIN_HAS_SYNC_4)
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2016-07-17 18:27:55 +02:00
|
|
|
config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
|
|
|
bool
|
|
|
|
select BR2_PACKAGE_MESA3D_DRIVER
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_DRIVER
|
|
|
|
bool
|
|
|
|
|
2015-01-17 18:03:54 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_NEEDS_XA
|
|
|
|
bool
|
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
comment "Gallium drivers"
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2017-02-15 01:13:52 +01:00
|
|
|
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
|
|
|
|
help
|
|
|
|
Mesa driver for Vivante GPUs.
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
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
|
2015-01-17 18:03:54 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
2014-03-29 21:56:06 +01:00
|
|
|
help
|
|
|
|
Supports all Nvidia GPUs.
|
|
|
|
|
2015-01-17 18:03:55 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
|
|
|
|
bool "Gallium Radeon R600 driver"
|
|
|
|
depends on BR2_i386 || BR2_x86_64
|
2018-04-11 14:57:01 +02:00
|
|
|
depends on !BR2_PACKAGE_MESA3D_LLVM || \
|
|
|
|
(BR2_PACKAGE_MESA3D_LLVM && (BR2_TOOLCHAIN_USES_UCLIBC || \
|
|
|
|
BR2_TOOLCHAIN_USES_GLIBC)) # elfutils
|
2015-01-17 18:03:55 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
|
|
select BR2_PACKAGE_LIBDRM_RADEON
|
2018-04-04 18:31:20 +02:00
|
|
|
select BR2_PACKAGE_LLVM_AMDGPU if BR2_PACKAGE_MESA3D_LLVM
|
2018-04-11 14:57:01 +02:00
|
|
|
select BR2_PACKAGE_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
|
2018-04-28 19:28:03 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS if BR2_PACKAGE_MESA3D_LLVM
|
2015-01-17 18:03:55 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
|
|
|
help
|
|
|
|
Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
|
|
|
|
|
2018-04-11 14:57:01 +02:00
|
|
|
# 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)
|
|
|
|
|
2018-04-27 15:49:15 +02:00
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_RADEONSI
|
|
|
|
bool "Gallium Radeon SI driver"
|
|
|
|
depends on BR2_i386 || BR2_x86_64
|
2018-04-28 19:28:02 +02:00
|
|
|
depends on BR2_PACKAGE_MESA3D_LLVM
|
|
|
|
depends on BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC # elfutils
|
2018-04-27 15:49:15 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
|
|
select BR2_PACKAGE_LIBDRM_AMDGPU
|
2018-04-28 19:28:01 +02:00
|
|
|
select BR2_PACKAGE_LIBDRM_RADEON
|
2018-04-28 19:28:02 +02:00
|
|
|
select BR2_PACKAGE_LLVM_AMDGPU
|
|
|
|
select BR2_PACKAGE_ELFUTILS
|
2018-04-28 19:28:03 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_ELFUTILS
|
2018-04-27 15:49:15 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
|
|
|
help
|
|
|
|
Driver for ATI/AMD Radeon HD7000/HD8000/Rx200 GPUs.
|
|
|
|
|
2018-04-28 19:28:02 +02:00
|
|
|
# Radeon SI needs libelf
|
2018-04-27 15:49:15 +02:00
|
|
|
# musl is not currently compatible with elfutils
|
2018-04-28 19:28:02 +02:00
|
|
|
comment "Radeon SI driver needs a uClibc or glibc toolchain"
|
2018-04-27 15:49:15 +02:00
|
|
|
depends on BR2_PACKAGE_MESA3D_LLVM
|
|
|
|
depends on !(BR2_TOOLCHAIN_USES_UCLIBC || BR2_TOOLCHAIN_USES_GLIBC)
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
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
|
2015-01-17 18:03:54 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
2014-03-29 21:56:06 +01:00
|
|
|
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.
|
|
|
|
|
2016-04-07 21:03:39 +02:00
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
|
|
|
|
bool "Gallium vc4 driver"
|
2017-10-11 17:42:11 +02:00
|
|
|
depends on BR2_ARM_CPU_HAS_NEON || BR2_aarch64
|
2016-04-07 21:03:39 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
|
|
|
select BR2_PACKAGE_LIBDRM_VC4
|
|
|
|
select BR2_PACKAGE_MESA3D_NEEDS_XA
|
2017-08-13 15:05:29 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
2016-04-07 21:03:39 +02:00
|
|
|
help
|
|
|
|
Driver for Broadcom VC4 (rpi2/3) GPUs.
|
|
|
|
It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
|
|
|
|
|
2015-12-19 12:01:23 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
|
|
|
|
bool "Gallium virgl driver"
|
|
|
|
select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
|
2015-12-20 19:31:05 +01:00
|
|
|
select BR2_PACKAGE_MESA3D_OPENGL_EGL
|
2015-12-19 12:01:23 +01:00
|
|
|
help
|
|
|
|
virgl is the 3D acceleration backend for the virtio-gpu
|
|
|
|
shipping with qemu.
|
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
comment "DRI drivers"
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
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.
|
|
|
|
|
2014-08-31 01:49:19 +02:00
|
|
|
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.
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
|
|
|
|
bool "DRI i965 driver"
|
|
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
select BR2_PACKAGE_MESA3D_DRI_DRIVER
|
|
|
|
select BR2_PACKAGE_LIBDRM_INTEL
|
|
|
|
help
|
2014-08-30 23:56:29 +02:00
|
|
|
Support for i965-based Intel GPUs.
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2015-12-19 12:01:24 +01:00
|
|
|
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.
|
|
|
|
|
2014-03-29 21:56:06 +01:00
|
|
|
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.
|
|
|
|
|
2016-07-17 18:27:55 +02:00
|
|
|
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_HEADERS_AT_LEAST_3_18 # memfd.h
|
|
|
|
depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
|
2018-07-21 16:16:36 +02:00
|
|
|
depends on BR2_PACKAGE_XORG7 # xorgproto
|
2016-07-17 18:27:55 +02:00
|
|
|
select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
|
2018-07-21 16:16:36 +02:00
|
|
|
select BR2_PACKAGE_XORGPROTO
|
2016-07-17 18:27:55 +02:00
|
|
|
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.18"
|
|
|
|
depends on BR2_i386 || BR2_x86_64
|
|
|
|
depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \
|
|
|
|
!BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
|
|
|
|
|
2015-10-03 19:21:55 +02:00
|
|
|
comment "Off-screen Rendering"
|
|
|
|
|
|
|
|
config BR2_PACKAGE_MESA3D_OSMESA
|
|
|
|
bool "OSMesa library"
|
|
|
|
help
|
2017-12-18 09:21:05 +01:00
|
|
|
The OSMesa API provides functions for making off-screen
|
|
|
|
renderings.
|
2015-10-03 19:21:55 +02:00
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
if BR2_PACKAGE_MESA3D_DRIVER
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
comment "Additional API Support"
|
2014-03-29 21:56:06 +01:00
|
|
|
|
|
|
|
config BR2_PACKAGE_MESA3D_OPENGL_EGL
|
2014-04-17 18:04:18 +02:00
|
|
|
bool "OpenGL EGL"
|
2014-04-05 17:21:39 +02:00
|
|
|
select BR2_PACKAGE_HAS_LIBEGL
|
2016-08-23 18:26:33 +02:00
|
|
|
select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
|
2014-03-29 21:56:06 +01:00
|
|
|
help
|
2017-12-18 09:21:05 +01:00
|
|
|
Use the Khronos EGL APIs. EGL is a window manager for OpenGL
|
|
|
|
applications similar to GLX, for X, and WGL, for Windows.
|
2014-03-29 21:56:06 +01:00
|
|
|
|
|
|
|
config BR2_PACKAGE_MESA3D_OPENGL_ES
|
|
|
|
bool "OpenGL ES"
|
2014-04-05 17:21:38 +02:00
|
|
|
select BR2_PACKAGE_HAS_LIBGLES
|
2014-03-29 21:56:06 +01:00
|
|
|
help
|
2017-12-18 09:21:05 +01:00
|
|
|
Use the Khronos OpenGL ES APIs. This is commonly used on
|
|
|
|
embedded systems and represents a subset of the OpenGL API.
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2017-03-26 18:28:49 +02:00
|
|
|
config BR2_PACKAGE_MESA3D_OPENGL_TEXTURE_FLOAT
|
|
|
|
bool "OpenGL texture float (patented format)"
|
|
|
|
help
|
|
|
|
GL_ARB_texture_float is required to enable GLX core profile
|
|
|
|
(OpenGL3.x) otherwise the compat profile is used
|
|
|
|
(OpenGL2.1).
|
|
|
|
|
|
|
|
The source code to implement ARB_texture_float extension is
|
|
|
|
included and can be toggled on at compile time, for those
|
|
|
|
who purchased a license from SGI, or are in a country where
|
|
|
|
the patent does not apply, etc.
|
|
|
|
|
|
|
|
Please consult docs/patents.txt with your lawyer before
|
|
|
|
building Mesa.
|
|
|
|
|
|
|
|
Also, note that this option doesn't affect all drivers. Some
|
|
|
|
drivers have support for texture float enabled
|
|
|
|
unconditionally.
|
|
|
|
|
|
|
|
If unsure, say N.
|
|
|
|
|
|
|
|
http://www.google.com/patents/about?id=mIIOAAAAEBAJ&dq=6650327
|
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
endif # BR2_PACKAGE_MESA3D_DRIVER
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2016-07-17 18:27:54 +02:00
|
|
|
config BR2_PACKAGE_PROVIDES_LIBGL
|
|
|
|
default "mesa3d" if BR2_PACKAGE_XORG7
|
|
|
|
|
2014-04-05 17:21:39 +02:00
|
|
|
config BR2_PACKAGE_PROVIDES_LIBEGL
|
2014-03-30 01:02:48 +01:00
|
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2014-04-05 17:21:38 +02:00
|
|
|
config BR2_PACKAGE_PROVIDES_LIBGLES
|
2014-03-30 01:02:48 +01:00
|
|
|
default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2014-04-17 18:04:16 +02:00
|
|
|
endif # BR2_PACKAGE_MESA3D
|
2014-03-29 21:56:06 +01:00
|
|
|
|
2015-08-09 22:09:00 +02:00
|
|
|
comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
|
|
|
|
depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
|
|
|
|
BR2_STATIC_LIBS
|
2016-03-19 10:20:54 +01:00
|
|
|
depends on BR2_TOOLCHAIN_HAS_SYNC_1
|