btrfs-progs: don't use <execinfo.h> with uClibc
[buildroot-gz.git] / package / mesa3d / Config.in
blobbbab95373f4f80e45a7d7069193aaf8c9a4cbd9e
1 menuconfig BR2_PACKAGE_MESA3D
2         bool "mesa3d"
3         depends on BR2_INSTALL_LIBSTDCPP
4         depends on !BR2_STATIC_LIBS
5         depends on BR2_TOOLCHAIN_HAS_SYNC_1
6         depends on BR2_TOOLCHAIN_HAS_THREADS_NPTL
7         select BR2_PACKAGE_LIBDRM
8         select BR2_PACKAGE_EXPAT
9         select BR2_PACKAGE_HAS_LIBGL if BR2_PACKAGE_XORG7
10         select BR2_PACKAGE_XPROTO_DRI2PROTO if BR2_PACKAGE_XORG7
11         select BR2_PACKAGE_XPROTO_GLPROTO if BR2_PACKAGE_XORG7
12         select BR2_PACKAGE_XPROTO_XF86DRIPROTO if BR2_PACKAGE_XORG7
13         select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7
14         select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_XORG7
15         select BR2_PACKAGE_XLIB_LIBXDAMAGE if BR2_PACKAGE_XORG7
16         select BR2_PACKAGE_XLIB_LIBXFIXES if BR2_PACKAGE_XORG7
17         select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7
18         help
19           Mesa 3D, an open-source implementation of the OpenGL specification.
21           http://mesa3d.org
23 if BR2_PACKAGE_MESA3D
25 # inform the .mk file of gallium, dri or vulkan driver selection
26 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
27         select BR2_PACKAGE_MESA3D_DRIVER
28         bool
30 config BR2_PACKAGE_MESA3D_DRI_DRIVER
31         select BR2_PACKAGE_MESA3D_DRIVER
32         select BR2_PACKAGE_XLIB_LIBXSHMFENCE if BR2_PACKAGE_XPROTO_DRI3PROTO
33         select BR2_PACKAGE_XPROTO_PRESENTPROTO if BR2_PACKAGE_XPROTO_DRI3PROTO
34         bool
36 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER
37         bool
38         select BR2_PACKAGE_MESA3D_DRIVER
40 config BR2_PACKAGE_MESA3D_DRIVER
41         bool
43 config BR2_PACKAGE_MESA3D_NEEDS_XA
44         bool
46 comment "Gallium drivers"
48 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_NOUVEAU
49         bool "Gallium nouveau driver"
50         depends on BR2_i386 || BR2_x86_64
51         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
52         select BR2_PACKAGE_LIBDRM_NOUVEAU
53         select BR2_PACKAGE_MESA3D_NEEDS_XA
54         help
55           Supports all Nvidia GPUs.
57 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_R600
58         bool "Gallium Radeon R600 driver"
59         depends on BR2_i386 || BR2_x86_64
60         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
61         select BR2_PACKAGE_LIBDRM_RADEON
62         select BR2_PACKAGE_MESA3D_NEEDS_XA
63         help
64           Driver for ATI/AMD Radeon R600/R700/HD5000/HD6000 GPUs.
66 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SVGA
67         bool "Gallium vmware svga driver"
68         depends on BR2_i386 || BR2_x86_64
69         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
70         select BR2_PACKAGE_LIBDRM_VMWGFX
71         select BR2_PACKAGE_MESA3D_NEEDS_XA
72         help
73           This is a virtual GPU driver for VMWare virtual machines.
75 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_SWRAST
76         bool "Gallium swrast driver"
77         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
78         help
79           This is a software opengl implementation using the Gallium3D
80           infrastructure.
82 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4
83         bool "Gallium vc4 driver"
84         depends on BR2_arm
85         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
86         select BR2_PACKAGE_LIBDRM_VC4
87         select BR2_PACKAGE_MESA3D_NEEDS_XA
88         help
89           Driver for Broadcom VC4 (rpi2/3) GPUs.
90           It requires a vanilla 4.5+ kernel with drm vc4 (open) support.
92 config BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL
93         bool "Gallium virgl driver"
94         select BR2_PACKAGE_MESA3D_GALLIUM_DRIVER
95         select BR2_PACKAGE_MESA3D_OPENGL_EGL
96         help
97           virgl is the 3D acceleration backend for the virtio-gpu
98           shipping with qemu.
100 comment "DRI drivers"
102 config BR2_PACKAGE_MESA3D_DRI_DRIVER_SWRAST
103         bool "DRI swrast driver"
104         select BR2_PACKAGE_MESA3D_DRI_DRIVER
105         help
106           This is a software opengl implementation using the DRI
107           infrastructure.
109 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
110         bool "DRI i915 driver"
111         depends on BR2_i386 || BR2_x86_64
112         select BR2_PACKAGE_MESA3D_DRI_DRIVER
113         select BR2_PACKAGE_LIBDRM_INTEL
114         help
115           Support for i915-based Intel GPUs.
117 config BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
118         bool "DRI i965 driver"
119         depends on BR2_i386 || BR2_x86_64
120         select BR2_PACKAGE_MESA3D_DRI_DRIVER
121         select BR2_PACKAGE_LIBDRM_INTEL
122         help
123           Support for i965-based Intel GPUs.
125 config BR2_PACKAGE_MESA3D_DRI_DRIVER_NOUVEAU
126         bool "DRI nouveau driver"
127         select BR2_PACKAGE_MESA3D_DRI_DRIVER
128         select BR2_PACKAGE_LIBDRM_NOUVEAU
129         help
130           Support for Nvidia-based GPUs.
132 config BR2_PACKAGE_MESA3D_DRI_DRIVER_RADEON
133         bool "DRI radeon driver"
134         select BR2_PACKAGE_MESA3D_DRI_DRIVER
135         select BR2_PACKAGE_LIBDRM_RADEON
136         help
137           Legacy Radeon driver for R100 series GPUs.
139 comment "Vulkan drivers"
141 config BR2_PACKAGE_MESA3D_VULKAN_DRIVER_INTEL
142         bool "Vulkan Intel driver"
143         depends on BR2_i386 || BR2_x86_64
144         depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 # memfd.h
145         depends on BR2_TOOLCHAIN_USES_GLIBC # ifunc, static_assert
146         depends on BR2_PACKAGE_XORG7 # xproto_dri3proto
147         # We need a SHA1 implementation. If either openssl or
148         # libgcrypt are already part of the build, we'll use one of
149         # them, otherwise, use the small libsha1 library.
150         select BR2_PACKAGE_LIBSHA1 if (!BR2_PACKAGE_OPENSSL && !BR2_PACKAGE_LIBGCRYPT)
151         select BR2_PACKAGE_MESA3D_DRI_DRIVER_I965
152         select BR2_PACKAGE_MESA3D_VULKAN_DRIVER
153         select BR2_PACKAGE_XPROTO_DRI3PROTO
154         help
155           Vulkan driver for Intel hardware from Ivy Bridge onward.
157 comment "intel vulkan depends on X.org and needs a glibc toolchain w/ headers >= 3.18"
158         depends on BR2_i386 || BR2_x86_64
159         depends on !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_18 || \
160                 !BR2_TOOLCHAIN_USES_GLIBC || !BR2_PACKAGE_XORG7
162 comment "Off-screen Rendering"
164 config BR2_PACKAGE_MESA3D_OSMESA
165         bool "OSMesa library"
166         help
167           The OSMesa API provides functions for making off-screen renderings.
169 if BR2_PACKAGE_MESA3D_DRIVER
171 comment "Additional API Support"
173 config BR2_PACKAGE_MESA3D_OPENGL_EGL
174         bool "OpenGL EGL"
175         select BR2_PACKAGE_HAS_LIBEGL
176         select BR2_PACKAGE_HAS_LIBEGL_WAYLAND
177         help
178           Use the Khronos EGL APIs. EGL is a window manager for OpenGL applications
179           similar to GLX, for X, and WGL, for Windows.
181 config BR2_PACKAGE_MESA3D_OPENGL_ES
182         bool "OpenGL ES"
183         select BR2_PACKAGE_HAS_LIBGLES
184         help
185           Use the Khronos OpenGL ES APIs. This is commonly used on embedded
186           systems and represents a subset of the OpenGL API.
188 endif # BR2_PACKAGE_MESA3D_DRIVER
190 config BR2_PACKAGE_PROVIDES_LIBGL
191         default "mesa3d" if BR2_PACKAGE_XORG7
193 config BR2_PACKAGE_PROVIDES_LIBEGL
194         default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_EGL
196 config BR2_PACKAGE_PROVIDES_LIBGLES
197         default "mesa3d" if BR2_PACKAGE_MESA3D_OPENGL_ES
199 endif # BR2_PACKAGE_MESA3D
201 comment "mesa3d needs a toolchain w/ C++, NPTL, dynamic library"
202         depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS_NPTL || \
203                 BR2_STATIC_LIBS
204         depends on BR2_TOOLCHAIN_HAS_SYNC_1